根据多个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();