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