[php] 여러 ID를 기반으로 Laravel 모델 결과 검색

ZendSearchLaravel응용 프로그램에 구현 했습니다 . 사용자가 검색 단어를 입력 한 다음 ZendSearch관련성에 따라 정렬 된 결과 배열을 반환 하는 검색 엔진으로 사용하고 있습니다. 그러나 ZendSearch반환 되는 배열 은 내 레코드 ID 만 반환합니다 (실제 레코드 정보는 반환하지 않음).

다음 ZendSearch은 관련성에 따라 정렬 된 ID의 배열 인 배열 결과를 기반으로 결과를 검색하기 위해 모델을 쿼리하는 올바른 방법 입니다.

Model::find(1)ID가 1 인 레코드를 반환하는 방법을 알고 있지만, find()내가 제공하는 순서대로 반환하려는 ID 배열을 해당 메서드에 제공 할 수있는 방법은 무엇입니까?



답변

간단합니다. 사용 findMany:

$models = Model::findMany([1, 2, 3]);

그건 그렇고, 배열을 전달할 수도 있으며 find()내부적으로 다음을 호출합니다 findMany.

$models = Model::find([1, 2, 3]);

내부적으로는 whereIn당신도 그렇게 할 수 있습니다.

$models = Model::whereIn('id', [1, 2, 3])->get();


답변