我可以进行以下调用
$userGroups = Auth::user()->getGroups();
以上将输出如下内容
array:10 [▼
0 => "Admin"
1 => "TeamA"
3 => "USA"
4 => "security"
9 => "Users"
]
所以我可以看到我是上述所有群体的成员。我也有一个客户表,这个表的一个字段是团队。示例客户端就像这样
#attributes: array:11 [▼
"id" => "3"
"clientName" => "Some Client"
"contactEmail" => ""
"team" => "TeamA"
"created_at" => "2016-07-04 15:08:15"
"updated_at" => "2016-07-04 15:08:15"
]
我要做的是让所有拥有团队的客户都是登录用户组的一部分。所以你可以看到我是TeamA的一部分因为我想要所有 拥有TeamA团队价值的客户。我正在思考这个问题。
$clients = Client::where('team', in_array('TeamA', $userGroups))->get();
上面的内容返回一个空的结果集,但希望它能证明我的目标。
我怎样才能做到这一点?
由于
答案 0 :(得分:2)
听起来好像在寻找whereIn?:
$clients = Client::whereIn('team', $userGroups)->get();
答案 1 :(得分:1)
听起来你只想要一个简单的"其中"?
$clients = Client::where('team', 'TeamA')->get();
您将获得所有拥有" TeamA"
团队的客户如果您希望获得多个群组的所有客户,请使用" whereIn":
$clients = Client::whereIn('team', $userGroups)->get();