複数のIDに基づいてLaravelモデルの結果を取得する質問する

複数のIDに基づいてLaravelモデルの結果を取得する質問する

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();

おすすめ記事