В Laravel есть несколько способов изменить выдачу данных из модели. Одним из наиболее часто используемых способов является использование Eloquent моделей в сочетании с методами доступа и мутаторами.
- Методы доступа (Accessors): Методы доступа позволяют вам определить свойства, к которым можно обращаться как к свойствам объекта, но при этом значения этих свойств будут вычисляться динамически через определенный метод. Например, если у вас есть модель
User
, вы можете создать метод доступаgetFullNameAttribute
, который будет объединять имя и фамилию пользователя и возвращать их как одну строку.
public function getFullNameAttribute() { return $this->first_name . ' ' . $this->last_name; }
- Мутаторы (Mutators): Мутаторы позволяют вам изменить значение атрибута модели перед сохранением этого значения в базу данных. Например, можно хэшировать пароль пользователя перед сохранением его в базу данных.
public function setPasswordAttribute($value) { $this->attributes['password'] = bcrypt($value); }
- Скрытие атрибутов (Hidden Attributes): Вы можете указать атрибуты модели, которые не должны быть включены в массив JSON представления модели.
protected $hidden = ['password'];
- Вывод дополнительных атрибутов (Appends): Вы можете добавить дополнительные атрибуты к вашей модели, которые не хранятся в базе данных, но будут включены в массив JSON представления модели.
protected $appends = ['full_name'];
Это некоторые из способов изменения выдачи данных из модели в Laravel. Используйте их, чтобы легко и гибко управлять данными, которые получает ваше приложение из базы данных.