私は Doctrine を使用して、1 人 (person) と複数の子供 (Children) などの 1 対多のマッピングを行っています。Doctrine を使用して Children を自動的に取得するときに、子供を年齢別にソートできることを望みます。
すみません: これを実現するにはどの関数をオーバーロードする必要がありますか? persion->getChildren() は SQL クエリを実行するためにどの関数を呼び出しますか?
そのようなニーズに対して結果を見つけるのは難しいです。アドバイスをお願いします。
解決策は次のとおりです:
修正
リーリーPerson
类的getChildren
方法変更したくない場合
getChildren
方法,可以写一个新的方法getChildrenOrderedByAge
も、同じ原則が適用されます。概要:
Doctrine
的一对多或者多对多关系中,Entity
中所谓多
的属性是DoctrineCommonCollectionsCollection
接口的某一实现的实例,默认情况下是DoctrineCommonCollectionsArrayCollection
,上述解决方案中用到的就是这一接口的Filtering API
(筛选接口),上述情况下,筛选的条件会最终转化到SQL
レイヤー処理によりパフォーマンスの最適化を実現します。最後に、関連する公式ドキュメントのリンクは次のとおりです: コレクションのフィルタリング
@vinzao のメソッドを使用するのは問題ありませんが、Doctirne は
人物:OrderBy
メソッドを提供します。リーリー
子供たち:リーリー