laravel - para - ¿Puedes crear una nueva instancia de Modelo sin guardarla en la base de datos?
metodo create laravel (3)
Quiero crear un montón de instancias de un objeto modelo en Laravel, luego seleccionar la instancia óptima y guardarla en la base de datos. Sé que puedo crear una instancia con Model::create([])
, pero eso se guarda en la base de datos. Si es posible, me gustaría crear un montón de modelos, entonces solo "cree" el que sea mejor.
es posible?
Estoy usando Laravel 5.0
Puedes crear instancias con Model::make()
. Funciona de la misma manera que create
pero no lo guarda.
Si esto es o no una buena práctica es otra cuestión completamente.
Sí, es posible de diferentes maneras: puede utilizar la asignación de masa sin guardar.
Recuerde establecer primero la propiedad $fillable
en su modelo.
MANERA # 1 : usando el método de relleno
$model = new YourModel;
$model->fill([
''field'' => ''value'',
''another_field'' => ''another_value''
]);
$model->save();
MANERA # 2 : usando el constructor
$model = new YourModel([
''field'' => ''value'',
''another_field'' => ''another_value''
]);
$model->save();
Documentación de Laravel: https://laravel.com/docs/5.7/eloquent
Usted crea un nuevo modelo simplemente al crear una instancia de él:
$model = new Model;
A continuación, puede guardarlo en la base de datos en una etapa posterior:
$model->save();