Ответ 1
Вы создаете новую модель, просто создавая ее:
$model = new Model;
Затем вы можете сохранить его в базе данных на следующем этапе:
$model->save();
Я хочу создать целую кучу экземпляров объекта модели в Laravel, затем выбрать оптимальный экземпляр и сохранить его в базе данных. Я знаю, что я могу создать экземпляр с Model::create([])
, но это сохраняет базу данных. Если возможно, я бы хотел создать кучу моделей, а затем только "создать" тот, который лучше всего.
Возможно ли это?
Я использую Laravel 5.0
Вы создаете новую модель, просто создавая ее:
$model = new Model;
Затем вы можете сохранить его в базе данных на следующем этапе:
$model->save();
Вы можете создавать экземпляры с помощью Model::make()
. Он работает так же, как и create
но не сохраняет его.
Независимо от того, является ли это лучшей практикой, совсем другое дело.
Да, это возможно по-разному: вы можете использовать массовое назначение без сохранения.
Не забудьте установить сначала свойство $fillable
в вашей модели.
ПУТЬ № 1: использование метода fill
$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