[英]How does Eloquent's create()/fill work()?
我試圖通過在模型中這樣做來連續設置記錄:
protected $fillable = ['completeness','task'];
public function add($records) {
$this->create($records);
$this->save();
}
盡管所有值都存在,但我得到了:
QLSTATE [23502]:不為null違反:7錯誤:“ user_id”列中的null值違反了非null約束細節:失敗的行包含(5、120,null,非常詳細,null,null,null,null,null,null ,2015-10-02 07:12:05,2015-10-02 07:12:05)。
create()
或fill()
工作?
雄辯的fill()
方法非常簡單。 它采用一組鍵值對( key
是字段名稱, value
是... well值)。
它:
$guarded
數組中為*
或$fillable
數組為空。 如果是這樣,它將最終引發“批量分配”異常 $attributes
數組中。 create()
創建模型的新實例,然后使用fill()
方法,然后保存並返回該新實例。
如果您想更深入地研究它,文件位於:
vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php
希望這可以幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.