5просмотров
24 ноября 2025 г.
Score: 6
Mutators и Accessors в Laravel 10+ Многие знают классические getSomethingAttribute() и setSomethingAttribute(),
но Laravel 10 принес обновлённый, более читаемый синтаксис. Пример Допустим, у нас есть поле price, хранящееся в базе в копейках:
// app/Models/Product.php class Product extends Model
{ protected function price(): Attribute { return Attribute::make( get: fn ($value) => $value / 100, set: fn ($value) => $value * 100, ); }
}
Что теперь происходит?
$product->price = 499.50; // в базе сохранится 49950 echo $product->price; // вернёт 499.50 Чисто, понятно и без тонны ручной логики.
Mutators/Accessors — идеальный инструмент, когда модель должна сама заботиться о данных.