2016-05-25 58 views
0

我使用Laravel Eloquent create::來插入記錄,但它插入和空值的記錄只有id和時間戳記。laravel eloquent插入空記錄到數據庫

$data['fname'] = $request->input('fname'); 
$data['lname'] = $request->input('lname'); 
$data['email'] = $request->input('email'); 
$data['phone'] = $request->input('phone'); 
RefUsers::create($data); 

然後在我的RefUsers模型我有

protected $fillable = array('fname, lname, email,phone'); 
public $timestamps = false; 

它運行沒有錯誤,但它插入空記錄到數據庫。任何人都可以幫忙嗎?

+0

一個知名開發商應該更仔細地閱讀文檔,他會發現,他的'$ fillable'定義完全錯誤的。 –

+0

這是一個疏忽 – Toni

回答

2

可輸入是一個字符串數組,所以每場,應該對自己的索引,如:

protected $fillable = array('first_name', 'last_name', 'email'); 
+0

你會是:protected $ fillable = array('fname','lname','email','phone'); – jah

1

首先,嘗試正確語法$fillable陣列,例如:

protected $fillable = ['fname', 'lname', 'email', 'phone']; 

或者:

protected $fillable = array('fname', 'lname', 'email', 'phone'); 

第二件事情是,你真的可以用mass assignment位置:

RefUsers::create($request->all()); 

相反的:

$data['fname'] = $request->input('fname'); 
$data['lname'] = $request->input('lname'); 
$data['email'] = $request->input('email'); 
$data['phone'] = $request->input('phone'); 
RefUsers::create($data);