根据多个ID检索Laravel Model结果

jus*_*inl 88 php relevance zend-search-lucene laravel eloquent

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

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

我知道Model::find(1)哪个会以ID为1返回我的记录,但是如何将该find()方法提供给我想要按照我给它的顺序返回的ID数组.

luk*_*ter 195

这很简单.用途findMany:

$models = Model::findMany([1, 2, 3]);
Run Code Online (Sandbox Code Playgroud)

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

$models = Model::find([1, 2, 3]);
Run Code Online (Sandbox Code Playgroud)

它只是做了一个,whereIn所以你也可以这样做:

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

  • 你甚至可能会说这是_雄辩_;) (20认同)
  • 它是如此优雅和简单。感谢您的回答。 (2认同)