Laravel:哪里没有按预期工作

时间:2017-12-12 17:47:29

标签: mysql laravel eloquent

我有一个值为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);
你能帮我解决一下吗

1 个答案:

答案 0 :(得分:3)

您传递的字符串为“1,2”。您必须将数组而不是字符串传递给whereNotIn()方法:

$role = Role::whereNotIn('id', $arr)->get();