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