ZendSearch
私は自分のアプリケーションに実装しましたLaravel
。これを検索エンジンとして使用しています。ユーザーが検索語を入力すると、ZendSearch
関連性順に並べられた結果の配列が返されます。ただし、返される配列はZendSearch
レコード ID のみを返します (実際のレコード情報は返されません)。
ZendSearch
次に、関連性に基づいて順序付けられた ID の配列である配列結果に基づいて結果を取得するためにモデルをクエリする正しい方法は何でしょうか。
ID が 1 のレコードを返すメソッドはわかっていますが、指定した順序で返される ID の配列をModel::find(1)
そのメソッドに渡すにはどうすればよいのでしょうか。find()
ベストアンサー1
それは簡単です。以下を使用してくださいfindMany
:
$models = Model::findMany([1, 2, 3]);
ちなみに、配列を渡すこともできます。その場合、find()
内部的に次のように呼び出されますfindMany
。
$models = Model::find([1, 2, 3]);
内部的には、次のwhereIn
ように動作するだけなので、次のようにすることもできます。
$models = Model::whereIn('id', [1, 2, 3])->get();