我有一个简单的变异器:
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。
任何帮助?
答案 0 :(得分:1)
您需要致电lists()
上的Eloquent Collection
。因此,请确保IsDeliveryManager()
返回正确的值。如果您可以共享IsDeliveryManager()
的代码,那就更好了。如果是query scope
,则需要在get()
之前致电lists()
。
return User::IsDeliveryManager()->get()->lists('fullname', 'id');
答案 1 :(得分:0)
即使是在camelcase中,mutator应该用小写字母调用。
所以你应该这样称呼它:
return User::IsDeliveryManager()->lists('fullname', 'id');