-1

저는 laravel 5.3을 사용하고 multiple 및 where 함수를 사용하여 쿼리를 작성하려고합니다. 여기 내 코드는 다음과 같습니다.배열에서 항목을 가져 오십시오. 어디에서 Laravel 5.3

$posts_id = "1,3,4"; //from my query 
$results = Post::select('*'); 
$results->whereIn('posts_id', [$posts_id]); 
$resutls->get(); 

내 데이터베이스에 4의 ID가있는 게시물이 있지만 쿼리에서 아무 것도 반환하지 않습니다. 내 게시물 ID는 $posts_id = "1,3,4";입니다.

$posts_id 변수에 포함 된 ID의 게시물을 얻으려면 도움이 필요합니다.

미리 감사드립니다. 별도의 라인에서 각각의 메소드를 호출 할 필요가 없습니다

$results = Post::whereIn('posts_id', explode(',' $posts_id))->get(); 

참고 :

답변

1

당신, 상기() 메서드에 배열을 전달해야합니다. 그들을 묶을 수 있습니다. 또한 select ('*')는 필요하지 않습니다.

원하는 방식으로 배열을 만들 수 있으며 explode()를 사용할 필요가 없습니다.

$ids = [1, 2, 3]; 
$results = Post::whereIn('posts_id', $ids)->get(); 

해당 검색어를 만들기 전에 배열이 비어 있지 않은지 확인하는 것이 좋습니다.