[英]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.