Я бы хотел добавить пользовательский атрибут/свойство в модель Laravel/Eloquent при загрузке, аналогично тому, как это можно сделать с помощью RedBean $model->open()
.
Например, на данный момент у меня в контроллере есть:
public function index()
{
$sessions = EventSession::all();
foreach ($sessions as $i => $session) {
$sessions[$i]->available = $session->getAvailability();
}
return $sessions;
}
Было бы неплохо иметь возможность опустить цикл и иметь уже установленный и заполненный атрибут "Доступный".
Я попытался использовать некоторые из событий модели, описанных в документации, для прикрепления этого свойства при загрузке объекта, но без успеха.
Примечания:
- 'available' не является полем в базовой таблице.
-
$sessions
возвращается как объект JSON как часть API, поэтому вызов типа$session->available()
в шаблоне не является опцией