2017-12-12 12 views
1

값이 1,2 인 배열이 있습니다. 예를 들면.Laravel : whereNotIn이 예상대로 작동하지 않습니다.

$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 notin (1,2); 

이 사용하고 있지만

select * from role where id notin (1); 

아래 것은 너희들 당신은 "1 인 문자열을 전달하는이

답변

1

를 해결하는 데 도움이 바랍니다 수처럼 작동 , 2 ". whereNotIn() 메서드에 문자열이 아닌 배열을 전달해야합니다.

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

감사합니다. –