我想在Laravel中创建一大堆模型对象实例,然后选择最佳实例并将其保存到数据库中。我知道我可以用Model::create([])
创建一个实例,但是会保存到数据库中。如果可能的话,我想创建一堆模型,然后只创建"创建"最好的那个。
这可能吗?
我正在使用Laravel 5.0
答案 0 :(得分:5)
您可以使用Model::make()
创建实例。它的工作方式与create
相同,但是并没有保存它。
这是否是最佳实践,完全是另一回事。
答案 1 :(得分:2)
是的,可能有不同的方式:您无需保存即可使用质量分配。
请记住首先在模型中设置$fillable
属性。
方法1 :使用方法填充
$model = new YourModel;
$model->fill([
'field' => 'value',
'another_field' => 'another_value'
]);
$model->save();
方法2 :使用构造函数
$model = new YourModel([
'field' => 'value',
'another_field' => 'another_value'
]);
$model->save();
Laravel文档:https://laravel.com/docs/5.7/eloquent