我遇到了两种将记录插入数据库的不同方法,第一种是:
Model::create([
'field1' => $request['field1'],
'field2' => $request['field2']
]);
第二种方式:
$model = new Model;
$model->field1 = $request['field1'];
$model->field2 = $request['field2'];
$model->save();
这两者有什么区别?它们是一样的吗?我什么时候应该使用一个而不是另一个?
两者都做同样的事情。请参阅创建方法代码,您将了解。这只是一个速记。
有时我不使用 create 方法,例如当我需要在某些条件下设置不同的值时。
我知道这已经得到了回答。我注意到两者的主要区别在于这些。
两者都做同样的事情。它"保存"数据。但是创建需要您在模型中具有$fillable
。如果不定义可填写字段,则创建将不起作用。数据不会被传递。
但是,另一方面,保存并不"要求"可填写,并且可以将数据存储在表中。
希望其他人觉得这有帮助。快乐编码:)