Baza de date stochează datele ca stringuri, numere sau câmpuri JSON text. Attribute Casting convertește automat aceste coloane în tipuri native PHP la citire și le serializează înapoi la salvare.
În Laravel 11, noua convenție recomandată este definirea metodei casts() (înlocuind vechea proprietate $casts), permițând definirea de caste dinamice, Enum-uri PHP 8.1 sau caste criptate ('encrypted') cu suport complet pentru auto-completare.
Exemplu: Metoda casts() în Laravel 11 și Accessor modern
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Casts\Attribute;
class User extends Model
{
protected function casts(): array
{
return [
'email_verified_at' => 'datetime',
'is_admin' => 'boolean',
'preferences' => 'array', // Convertește automat coloana JSON în array PHP!
'secret_token' => 'encrypted',
];
}
// Accessor / Mutator modern:
protected function fullName(): Attribute
{
return Attribute::make(
get: fn (mixed $value, array $attributes) => $attributes['first_name'] . ' ' . $attributes['last_name'],
);
}
}
Întrebări & Exemple de Cod:
Conversia Datelor cu Casts și Accessors / MutatorsAi o nelămurire despre utilizarea comenzii
Conversia Datelor cu Casts și Accessors / Mutatorssau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.