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
Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter