Использовать мутатор доступа в методе списков Laravel 4

У меня есть простой мутатор:

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.

Любая помощь?

1

Решение

Вам нужно позвонить lists() на Eloquent Collection, Так что убедитесь IsDeliveryManager() возвращает правильные значения. Лучше, если вы можете поделиться кодом IsDeliveryManager(), Если это query scope тебе нужно позвонить get() до lists(),

return User::IsDeliveryManager()->get()->lists('fullname', 'id');
1

Другие решения

Мутатор, даже если он находится в верблюжьем регистре, должен вызываться в нижнем регистре.

Так что вы должны называть это так:

return User::IsDeliveryManager()->lists('fullname', 'id');
0

По вопросам рекламы [email protected]