У меня есть простой мутатор:
public function getFullnameAttribute($value)
{
return $this->first_name. ' ' .$this->last_name;
}
Но у меня также есть метод, который возвращает список конкретных пользователей для использования в выбранных входных данных:
static function getDeliveryManagers()
{
return User::IsDeliveryManager()->lists('first_name', 'id');
}
Мне нужно, чтобы этот массив возвращался как [‘Имя Фамилия’, ‘id’]
Но мутатор не работает, например
return User::IsDeliveryManager()->lists('Fullname', 'id');
Я нашел это: https://github.com/laravel/framework/issues/668
Который Тейлор помечает как выполненный, но я не могу заставить его работать. Использование Laravel 4.2.
Любая помощь?
Вам нужно позвонить lists()
на Eloquent Collection
, Так что убедитесь IsDeliveryManager()
возвращает правильные значения. Лучше, если вы можете поделиться кодом IsDeliveryManager()
, Если это query scope
тебе нужно позвонить get()
до lists()
,
return User::IsDeliveryManager()->get()->lists('fullname', 'id');
Мутатор, даже если он находится в верблюжьем регистре, должен вызываться в нижнем регистре.
Так что вы должны называть это так:
return User::IsDeliveryManager()->lists('fullname', 'id');