Doctrine Modelのデフォルトの並べ替え属性で問題になって.yml
いるのは、コレクション値の関連付けのデフォルトの並べ替えを定義することです。
次のように、デフォルトの並べ替えでモデルを取得したいと思います。
Foo:
columns:
...
options:
orderBy: bar DESC
この YAML ベースの設定に相当する注釈は何ですか?
Doctrine Modelのデフォルトの並べ替え属性で問題になって.yml
いるのは、コレクション値の関連付けのデフォルトの並べ替えを定義することです。
次のように、デフォルトの並べ替えでモデルを取得したいと思います。
Foo:
columns:
...
options:
orderBy: bar DESC
この YAML ベースの設定に相当する注釈は何ですか?
編集:これはデフォルトでは不可能です。リポジトリから取得されたエンティティは、指定された並べ替え基準によって取得されます。
$entities = $entityRepository->findBy(array(), array('field' => 'ASC'));
これ、DQL、およびCriteria APIは、特定の並べ替え基準でエンティティをフェッチする現在の方法です。
「 Doctrine Model のデフォルトの並べ替え属性」での質問は、リポジトリからエンティティを直接取得することとは関係のない、コレクション値の関連付けの並べ替えに関するものです。
これらの関連付けについて、「 Doctrine Model の Default sort attribute」に相当する注釈は次のとおりです(元の回答):
Doctrine 2 ORM の公式の注釈ドキュメントの時点で、コレクション値の関連付けのデフォルトの並べ替え条件の注釈です@OrderBy({"field" = "ASC", "otherField" = "DESC"})
。
使用方法は次のとおりです。
/**
* @ORM\OneToMany(targetEntity="Users")
* @ORM\OrderBy({"username" = "ASC"})
*/
protected $users;