根据多个ID检索Laravel模型结果

我在我的Laravel应用程序中实现了ZendSearch 。 我使用它作为我的search引擎,用户将键入一个search词,然后ZendSearch将返回按相关性sorting的结果数组。 但是, ZendSearch返回的数组只返回我的loggingID(它不返回任何实际的logging信息)。

接下来是什么正确的方式来查询我的模型来检索基于ZendSearch数组结果的结果,这是根据相关性sorting的ID数组。

我知道Model::find(1)会返回ID为1的logging,但我怎样才能为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();