Los casteos de los modelos se convirtieron a métodos en Laravel 11

- Andrés Cruz

Los casteos de los modelos se convirtieron a métodos en Laravel 11

Los Model Cast en Laravel 10 se definen mediante la propiedad $casts. Sin embargo, en Laravel 11, puedes definir un método casts(), que abre la posibilidad de usar métodos estáticos en ruedas integradas, así como definir métodos estáticos para ruedas personalizadas.

Los Model Cast en Laravel 10 se definen mediante la propiedad $casts. Sin embargo, en Laravel 11, puedes definir un método casts(), que abre la posibilidad de usar métodos estáticos en ruedas integradas, así como definir métodos estáticos para ruedas personalizadas:

use App\Enums\UserOption;
use Illuminate\Database\Eloquent\Casts\AsEnumCollection;

// ...

/**
* Get the attributes that should be cast.
*
* @return array<string, string>
*/
protected function casts(): array
{
   return [
       'email_verified_at' => 'datetime',
       'password' => 'hashed',
       'options' => AsEnumCollection::of(UserOption::class),
   ];
}

En Laravel 10, la misma conversión se vería así, ya que no se pueden llamar métodos estáticos al definir una propiedad:

protected $casts = [    'options' => AsEnumCollection::class.':'.UserOption::class,];

Esta actualización es compatible con versiones anteriores de Laravel 10 y aún puede definir conversiones a través de la propiedad $casts combinada con el nuevo método casts(). La propiedad $casts y el método casts() se fusionan, y las claves del método tienen prioridad sobre la propiedad $casts.

Se recomienda mover las conversiones a la versión del método si desea aprovechar los métodos estáticos para las ruedas integradas.

Articulo original:

https://laravel-news.com/model-casts

 

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.

!Cursos desde!

10$

En Udemy

Quedan 1d 23:04!


Udemy

!Cursos desde!

4$

En Academia

Ver los cursos

!Libros desde!

1$

Ver los libros
¡Hazte afiliado en Gumroad!