Trucos de Laravel que debes saber

trucos de laravel

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.

trucos de laravel
api-resource-without-data

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’;
trucos de laravel
customize-resource

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.

trucos de laravel
avoid-(n+1)-query

Obtener token de portador del encabezado de autorización

trucos de laravel
get-bearer-token

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

hide-custom-command

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.

no-timestamp-columns

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.

default-timestamp

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.

column-name-change

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.

change_default_timestamp_fields

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:

Recent Post