根据多个ID检索Laravel Model结果

时间:2015-02-13 22:41:17

标签: php laravel eloquent zend-search-lucene relevance

我已将ZendSearch实施到我的Laravel应用程序中。我使用它作为我的搜索引擎,用户将在其中键入搜索词,然后ZendSearch将返回一系列按相关性排序的结果。但是,ZendSearch返回的数组只返回我的记录ID(它不会返回任何实际的记录信息)。

下一步是查询我的模型以检索基于ZendSearch数组结果的结果的正确方法,该结果只是基于相关性排序的ID数组。

我知道Model::find(1)会返回ID为1的记录,但是如何将find()方法提供给我想要返回的ID数组?命令我给它。

1 个答案:

答案 0 :(得分:173)

这很简单。使用findMany

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

顺便说一句,您也可以将数组传递给find(),它会在内部调用findMany

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

在引擎盖下它只是whereIn,所以你也可以这样做:

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