[解決済み] findAll Doctrine のメソッドを並べ替えるには?
2022-07-18 05:44:06
質問
Doctrine のドキュメントを読んでいますが、findAll() の結果をソートする方法を見つけることができません。
私は symfony2 + doctrine を使っており、これはコントローラ内で使用しているステートメントです。
$this->getDoctrine()->getRepository('MyBundle:MyTable')->findAll();
のようにしたいのですが、結果をユーザー名の昇順で並べたいのです。
このように配列を引数に渡そうとすると
findAll( array('username' => 'ASC') );
と表示されるのですが、うまくいきません(文句も出ません)。
DQLクエリを構築せずにこれを行う方法はありますか?
どのように解決するのですか?
Lighthartが示すように、それは可能です。しかし、それはコントローラに大きな脂肪を追加し、DRYではありません。
エンティティリポジトリで独自のクエリを定義する必要があります。
use Doctrine\ORM\EntityRepository;
class UserRepository extends EntityRepository
{
public function findAll()
{
return $this->findBy(array(), array('username' => 'ASC'));
}
}
次に、リポジトリでクエリを探すようにエンティティに指示する必要があります。
/**
* @ORM\Table(name="User")
* @ORM\Entity(repositoryClass="Acme\UserBundle\Entity\Repository\UserRepository")
*/
class User
{
...
}
最後に、コントローラで
$this->getDoctrine()->getRepository('AcmeBundle:User')->findAll();
関連
-
[解決済み] Composerで単一のライブラリを更新する方法は?
-
[解決済み】Doctrine2: 参照テーブルで余分なカラムを持つ多対多を処理する最良の方法
-
[解決済み】拡張子.yamlと.ymlの違いは何ですか?[重複あり]
-
[解決済み】Doctrine QueryBuilder で行数を数える。
-
[解決済み】Symfony 2.xでは、本当にすべてをバンドルにすべきなのか?
-
[解決済み】Twigテンプレートで現在のURLを取得する?
-
[解決済み] Symfony2のTwigテンプレートで設定パラメータを取得する方法
-
[解決済み] symfony2のコントローラでparameters.ymlから読み込むにはどうしたらいいですか?
-
[解決済み] Twigのパスに複数のパラメータを追加する
-
[解決済み] Doctrine 2 は manyToOne リレーションで nullable=false を使うことはできないのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Composerで単一のライブラリを更新する方法は?
-
[解決済み】拡張子.yamlと.ymlの違いは何ですか?[重複あり]
-
[解決済み】Doctrine QueryBuilder で行数を数える。
-
[解決済み】Symfony 2.xでは、本当にすべてをバンドルにすべきなのか?
-
[解決済み】Twigテンプレートで現在のURLを取得する?
-
[解決済み] Symfony2のTwigテンプレートで設定パラメータを取得する方法
-
[解決済み] symfony2のコントローラでparameters.ymlから読み込むにはどうしたらいいですか?
-
[解決済み] symfony2 : リクエストをフォームにバインドした後にフォームのバリデーションエラーを取得する方法
-
[解決済み] Twigのパスに複数のパラメータを追加する
-
[解決済み] Doctrine 2 は manyToOne リレーションで nullable=false を使うことはできないのですか?