Laravel - 模型::创建和保存()之间的区别



我遇到了两种将记录插入数据库的不同方法,第一种是:

Model::create([
'field1' => $request['field1'],
'field2' => $request['field2']
]);

第二种方式:

$model = new Model;
$model->field1 = $request['field1'];
$model->field2 = $request['field2'];
$model->save();   

这两者有什么区别?它们是一样的吗?我什么时候应该使用一个而不是另一个?

两者都做同样的事情。请参阅创建方法代码,您将了解。这只是一个速记。

有时我不使用 create 方法,例如当我需要在某些条件下设置不同的值时。

我知道这已经得到了回答。我注意到两者的主要区别在于这些。

两者都做同样的事情。它"保存"数据。但是创建需要您在模型中具有$fillable。如果不定义可填写字段,则创建将不起作用。数据不会被传递。

但是,另一方面,保存并不"要求"可填写,并且可以将数据存储在表中。

希望其他人觉得这有帮助。快乐编码:)

最新更新