您是否可以创建新的Model实例而不将其保存到数据库中

时间:2015-08-25 00:07:02

标签: laravel laravel-5

我想在Laravel中创建一大堆模型对象实例,然后选择最佳实例并将其保存到数据库中。我知道我可以用Model::create([])创建一个实例,但是会保存到数据库中。如果可能的话,我想创建一堆模型,然后只创建"创建"最好的那个。

这可能吗?

我正在使用Laravel 5.0

2 个答案:

答案 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