从 belongsToMany 关系中获取用户

get user from belongsToMany relationships

我在 October CMS 中有一个 service 模型。

在此模型中,我需要获取 postman 的用户(postman 是用户组)但我收到此错误:

Trying to get property of non-object

这是我的代码

public function getPostmanIdOptions()
{

    $groups = UserGroup::where('id','4')->lists('name', 'id');
    $groups->users;

    $list = [' ' => 'choose'] + $groups;
    return $list;
}

目前,您的lists()函数只会return每个用户组的nameid。这用于 return 后端的 select 选项 select (我假设)。

在这种情况下,您需要做的是 return 基于其 id 的记录,这可以使用 find() eloquent 方法完成。

通过这样做,完整的 UserGroup 模型将被 returned,包括它的关系等

您的新代码应如下所示:

...    

$group = UserGroup::find(4);
$users = $group->users;

...

检索 users 后,如果需要,您可以使用 lists() 方法:

$list = $group->users->lists('name', 'id');