我有一个值为1,2的数组。例如。
$arr = []
foreach($permission as $perm)
{
$arr[] = $perm->permission
}
dd(implode(',',$arr));
result shows 1,2
但是当我在查询中使用$ arr时它不能正常工作。 我在以下查询中使用它
$response = implode(',',$arr);
$role = Role::whereNotIn('id',[$response])->get();
//means select * from role where id not in (1,2);
但它的作用如下
select * from role where id not in (1);
你能帮我解决一下吗
答案 0 :(得分:3)
您传递的字符串为“1,2”。您必须将数组而不是字符串传递给whereNotIn()
方法:
$role = Role::whereNotIn('id', $arr)->get();