Laravel Eloquent: consejos y trucos para acelerar su código #3
Eloquent ORM parece ser un método simple, pero hay muchas funciones semi-ocultas y formas menos conocidas de sacarle más provecho. Le mostraré algunos consejos en este artículo.
1. Evite errores mediante el ayudante opcional
Al acceder a los valores del objeto, si ese objeto es nulo, su código generará un error. Por ejemplo:
return $invoice->total;
Generaría un error si el objeto de la factura estuviera vacío. Una forma sencilla de evitar errores es utilizar el ayudante opcional de Laravel:
return optional($invoice)->total;
Ahora, si el objeto $invoice (factura) es nulo, su código devolverá nulo en lugar de generar un error. También puede utilizar un cierre con el ayudante opcional. Recibe el cierre como segundo argumento y se llamará si el primer argumento no es nulo.
2. Actualizar o crear
Cuando se trabaja con bases de datos, es habitual ver si un registro determinado ya existe y actualizarlo, o crear un nuevo registro si no existe. Algo en esta línea:
En su lugar, puede usar el método updateOrCreate de Eloquent:
3. Variable de bucle en foreach
Dentro del bucle foreach, verifique si la entrada actual es la primera / última usando la variable $ loop.
También hay otras propiedades como:
Más info (en inglés) aquí :
4. Grupo de ruta
Grupo de ruta dentro de una agrupación Rutas, puede crear un grupo dentro de un grupo, asignando un determinado middleware solo a algunas URL en el “padre”:
5. Métodos Eloquent para where-date
En Eloquent, simplemente para verificar la fecha con las funciones whereDay(), whereMonth(), whereYear(),
whereDate() y whereTime().
6. Prueba de correo electrónico en laravel.log
Si desea probar el contenido del correo electrónico en su aplicación, pero no puede o no desea configurar algo como Mailtrap, use el parámetro .env MAIL_DRIVER=log
y todo el correo electrónico se guardará en el archivo storage / logs / laravel.log, en lugar de enviarse realmente .
7. Modelo de columna específico en el método ::all()
Al llamar a Model::all() de Eloquent, puede especificar qué columnas devolver.
$users = User::all([‘id’, ‘name’, ‘email’]);
8. Alias Nombre de la columna en elocuente
En Eloquent Query Builder, puede especificar “as” para devolver cualquier columna con un nombre diferente, simplemente como en una consulta SQL simple.
9. Utilice hasMany para crear Many child
Si tiene la relación hasMany(), puede usar saveMany() para guardar múltiples entradas “secundarias” de su objeto “principal”, todo en una oración.
10. Método dd (volcar y troquelar)
Una de las formas más comunes de depurar un error en el ecosistema de Laravel es volcar la variable en la pantalla y averiguar qué está fallando.
La función dd vuelca las variables dadas y finaliza la ejecución del script. En lugar de hacer dd($result); puede poner ->dd() como método directamente al final de su oración elocuente, o cualquier Colección
¡Gracias por leer este artículo! No olvide dejar un 👍🏼 o un comentario!