Symfony 2
でDoctrine
を使用して、idの順序付き配列を使用してアイテムを検索する方法を探しています。
ID(主キー)とタイトルを持つカードエンティティがあります。
ID(主キー)とlistCards(エンコードされたIDの配列:["16", "2", "84"]
)を持つListCardsエンティティがあります
最初にリストを取得してから、その順序でそれらのIDを持つカードを見つける必要があります。
私は次のようなものを試します:
$idsArray = ["16", "2", "84"];
$cardRepository->findby($idsArray);
ただしDoctrine
はASC
の順番でカードを取得します。
ORDER BY FIEDS
sqlメソッドは、ドクトリンでサポートされていないようです。
そのようなソートのための簡単な解決策はありますか?
ありがとう(そして私の悪い英語を申し訳なく思う)。
次のように使用できます。
$cardRepository->findBy( array('id' => $idsArray), array('id' => 'DESC') );
findBy
メソッドの2番目から4番目のパラメーターとして順序、制限、オフセットを使用する方法の詳細については、 公式doctrineドキュメント も確認してください。
次のデータを持つ、順序付けされたグループ要素を格納するヘルパーテーブルを作成できます。(group_id, card_id, order)
group
_ idで検索し、order
で注文し、card_id
を読みます。