Enums Non-backed en consultas de bases de datos y un método withSchedule() en Laravel

- Andrés Cruz

El equipo de Laravel lanzó la versión 11.1 con un método de arranque withSchedule, enumeraciones sin respaldo en el generador de consultas, opciones de administración de listas SES y más. Laravel 11.1 es la primera versión menor desde la GA de Laravel 11, lanzada a principios de este mes.

Agrega withSchedule a Bootstrap

El siguiente código permite realizar un backup de la base de datos:

->withSchedule(function ($schedule) {
   $schedule->command('backup:database')->daily();
})

Opciones de gestión de listas agregadas a SES Mail Transport

Capacidad de utilizar las funciones de gestión de suscripciones de SES mientras utiliza el transporte de correo de SES. Puede definir el siguiente encabezado en el método headers() de un mensaje de correo:

public function headers(): Headers
{
   return new Headers(
       text: [
           'X-Ses-List-Management-Options' => 'contactListName=MyContactList;topicName=MyTopic',
       ],
   );
}

Este encabezado de SES habilita automáticamente enlaces para cancelar la suscripción en cada correo electrónico saliente en el que especifica la lista de contactos y el tema. Si un usuario se da de baja, SES no permite el envío de correo electrónico. Consulte la documentación del controlador SES de Laravel para obtener más detalles.

Aceptar enumeraciones no respaldadas en consultas de bases de datos

Contribuyó con la capacidad de utilizar enumeraciones no respaldadas en consultas de bases de datos. Ya es posible lanzar atributos de Eloquent. Sin embargo, no fue posible utilizar enumeraciones sin respaldo con el generador de consultas.

Ahora puedes pasar estas enumeraciones a consultas a partir de Laravel 11.1:

enum Status
{
   case Active;
   case Archive;
}

class User extends Model
{
 protected $casts = [
   'status' => Status::class,
 ];
}


User::where('status', Status::Active)->get();
User::update([ 'status' => Status::Archive]);

Trait condicional agregado al contexto

El trait condicional a la nueva característica contextual de Laravel. Esto permite establecer el contexto de forma condicional y también definir valores predeterminados cuando sean falsos o verdaderos, según el método condicional:

Context::when(
   auth()->user()->isAdmin(),
   fn ($context) => $context->add('user', ['key' => 'other data', ...auth()->user()]),
   fn ($context) => $context->add('user', auth()->user()),
);

Artículo original:

https://laravel-news.com/laravel-11-1-0

Andrés Cruz

Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter

Andrés Cruz en Udemy

Acepto recibir anuncios de interes sobre este Blog.