Ж
Жизнь разработчика
@fdeveloper_life4 подп.
3просмотров
75.0%от подписчиков
23 ноября 2025 г.
Score: 3
Используем касты (Casts) в Laravel, чтобы держать данные в порядке Привет, разработчики! Сегодня поговорим про касты в Laravel — одну из тех фич, о которых все знают, но используют далеко не всегда. А зря. Зачем нужны касты? У модели есть поля — строки, числа, даты, JSON. Но Eloquent сам по себе не всегда может привести их к удобному формату. Например: - settings хранится как JSON в базе - is_active хранится как tinyint - created_at нужен в конкретном формате Laravel позволяет автоматически кастовать данные при чтении и записи. Пример Допустим, у нас есть таблица users с полем settings, где хранятся пользовательские настройки в JSON. // app/Models/User.php class User extends Model { protected $casts = [ 'settings' => 'array', 'is_active' => 'boolean', 'created_at' => 'datetime:Y-m-d H:i', ]; } Что это нам даёт? Теперь: $user->settings['theme'] = 'dark'; // автоматически сохранится в JSON $user->is_active; // вернёт true/false, а не 0/1 $user->created_at; // сразу в корректном формате Пользовательские касты Если нужно что-то сложнее — например, шифрование или преобразование к объекту — можно создать свой каст: php artisan make:cast EncryptCast // app/Casts/EncryptCast.php class EncryptCast implements CastsAttributes { public function get($model, string $key, $value, array $attributes) { return decrypt($value); } public function set($model, string $key, $value, array $attributes) { return encrypt($value); } } Применение: protected $casts = [ 'secret_data' => EncryptCast::class, ]; Вывод Касты упрощают жизнь, уменьшают количество ручной логики и делают код чище. Используйте их там, где данные требуют особого отношения. До встречи — разберём ещё одну фичу Laravel завтра!
3
просмотров
1934
символов
Нет
эмодзи
Нет
медиа

Другие посты @fdeveloper_life

Все посты канала →
Используем касты (Casts) в Laravel, чтобы держать данные в п — @fdeveloper_life | PostSniper