2

我有一个简单的突变器:

public function getFullnameAttribute($value)
{
    return $this->first_name. ' ' .$this->last_name;
}

但我也有一个方法可以返回一个特定用户列表以在选择输入中使用:

static function getDeliveryManagers()
{
    return User::IsDeliveryManager()->lists('first_name', 'id');
}

我需要将该数组返回为 ['First Name Last Name', 'id']

但是突变器不起作用,例如

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

我发现了这个:https ://github.com/laravel/framework/issues/668

泰勒将其标记为已完成,但我无法使其正常工作。使用 Laravel 4.2。

有什么帮助吗?

4

2 回答 2

2

您需要调用lists()on Eloquent Collection。因此,请确保IsDeliveryManager()返回正确的值。能分享一下代码就更好了IsDeliveryManager()。如果是query scope你需要先get()打电话lists()

return User::IsDeliveryManager()->get()->lists('fullname', 'id');
于 2015-07-28T09:24:44.170 回答
0

mutator,即使它是驼峰式的,也应该以小写形式调用。

所以你应该这样称呼它:

return User::IsDeliveryManager()->lists('fullname', 'id');
于 2015-07-28T09:14:50.163 回答