Trucos de Laravel que debe saber
Sumerjámonos y aprendamos algunos trucos de laravel. Aprendamos algunos trucos importantes.
Recursos API: ¿con o sin “data”?
Si usa los recursos de API de Eloquent para devolver datos, se envolverán automáticamente en “datos” (data.data). Puede deshacerse de ese ajuste de datos interno adicional mediante el siguiente proceso.
También puede personalizar cuál debería ser el elemento de datos interno, digamos que desea devolver data.polls en lugar de data.data.
public static $wrap = ‘polls’;
Evite las consultas N+1 en los recursos de la API
El método whenLoaded
se puede usar para cargar condicionalmente una relación. Para evitar cargar relaciones innecesariamente, este método acepta el nombre de la relación en lugar de la relación en sí. Sin whenLoaded()
siempre hay una consulta para las publicaciones.
Obtener token de portador del encabezado de autorización
Versión exacta de Laravel
Primero ingrese a su aplicación web y ejecute el siguiente comando para obtener la versión de laravel.
php artisan --version
Cómo crear un comando personalizado
php artisan make:command SendMailToAllUser
El comando anterior creará un comando personalizado en su “/app/Console/Commands”
Oculte su comando personalizado
El código ocultará el comando personalizado de la lista de artesanos.
Elocuente donde métodos de fecha
“dóndeFecha/dóndeMes/dóndeDía/dóndeAño/dóndeHora”
- whereDate: el método
whereDate
se puede usar para comparar el valor de una columna con una fecha:
DB::table('polls')->whereDate('created_at','2022-06-01')->get();
- El método
whereMonth
se puede usar para comparar el valor de una columna con un mes específico:
DB::table('polls')->whereMonth('created_at', '06')->get();
- El método
whereDay
se puede usar para comparar el valor de una columna con un día específico del mes:
DB::table('polls')->whereDay('created_at', '01')->get();
- l método
whereYear
se puede usar para comparar el valor de una columna con un año específico:
DB::table('polls')->whereYear('created_at', '2022')->get();
- El método
whereTime
se puede usar para comparar el valor de una columna con un tiempo específico:
DB::table('polls')->whereTime('created_at', '=', '07:05:45')->get();
Incrementar y Decrementar
El generador de consultas también proporciona métodos convenientes para incrementar o disminuir el valor de una columna determinada. Ambos métodos aceptan al menos un argumento: la columna a modificar. Se puede proporcionar un segundo argumento para especificar la cantidad por la cual se debe incrementar o disminuir la columna.
#Increment the count DB::table('polls')->increment('votes'); DB::table('polls')->increment('votes', 5); #Decrement the count DB::table('polls')->decrement('votes'); DB::table('polls')->decrement('votes', 5);
Sin columnas de marca de tiempo
Si su tabla de base de datos no contiene campos de marca de tiempo created_at y updated_at, puede especificar que el modelo Eloquent no los use, con la propiedad $timestamps=false.
Marca de tiempo predeterminada
Al crear migraciones, puede usar el tipo de columna ->timestamp() con la opción ->useCurrent(), establecerá CURRENT_TIMESTAMP como valor predeterminado.
Cambio de nombre de columna
En Eloquent Query Builder, puede especificar “como” para devolver cualquier columna con un nombre diferente, al igual que en una consulta SQL simple.
DD más conveniente
Nunca ejecute la “actualización del compositor” en producción
Nunca ejecute la actualización del compositor en producción, es lenta y “romperá” el repositorio. Ejecute siempre la actualización del compositor localmente en su computadora, confirme el nuevo composer.lock en el repositorio y ejecute la instalación del compositor en el servidor.
Cambiar campos de marca de tiempo predeterminados
¿Qué sucede si está trabajando con una base de datos que no es de Laravel y sus columnas de marca de tiempo tienen un nombre diferente? Tal vez, tienes create_date y update_date. Afortunadamente, puede especificarlos en el modelo.
Ordenar por created_at
Por defecto, latest() ordenará por created_at. Hay un método opuesto, el más antiguo (), que ordenaría por created_at ascendente.
User::oldest()->get();
¡Manténganse al tanto! Volveremos con más trucos de Laravel geniales en los próximos artículos. ¡Gracias!
Si le interesa, puede echar un vistazo a algunos de los otros artículos que he escrito recientemente sobre Laravel: