Creación y actualización de Laravel elocuente

Creación y actualización de Laravel elocuente

Problema

¿Cuál es la mejor y más rápida forma de crear un nuevo disco usando Laravel elocuente o actualizar el registro si existe? ?

$ user = user :: where ('organización_id', '=', $ organización_id)
-> donde ('edad', '=', 30)-> primero ();
if ($ user == null)
// inserta un nuevo registro en la base de datos
demás
// Actualizar el registro existente

Solución

Incluyendo Laravel 6, ha habido un par de formas de crear y actualizar su registro elocuente por separado. Lo que necesitas aquí es un método que hace todo esto por ti. Podrías usar Birstornew o FirstORCreate. La diferencia es que la primera devuelve una instancia del modelo, lo que significa que tiene el objeto, pero aún no se ha persistido en la base de datos. Tendría que llamar al método save save () en él. El otro hará todo esto por ti.

$ user = user :: birstOnnew (['name' => 'Laravel Recipes']);
$ user-> Age = input :: get ('edad');
$ user-> save ();

A continuación se muestra el enlace actualizado de los documentos que se encuentra en la última versión de Laravel

Documentos aquí: enlace actualizado