2

Doctrine を使用して Symfony2 の関連するエンティティ間にあるはずの情報を取得しようとしているときに、問題が発生しました。

多くの「ページ」を持つ多くの「章」を持つ多くの「雑誌」を持つ「出版社」と呼ばれるエンティティがあり、1 つの「出版社」オブジェクトからすべてのページの合計量を取得したいとします。雑誌は、章を通して、持っています。

直接関連する雑誌を数えようとしている間、問題はありません (テンプレートとして Twig を使用しています)。コントローラーでリストを取得します:

$entities = $em->getRepository('Bundle:Publisher')->findAll();

ビューでは、これをレンダリングできます。

{{ entity.magazines.count }}

これにより、その出版社に関連する雑誌が表示されます。しかし、次のことをしようとすると:

{{ entity.magazines.chapters.count }}

(「チャプター」が ManyToOne Magazine に関連する別のエンティティであると仮定すると) エラーがスローされます。ここに何かが欠けていることは知っていますが、それが何であるかわかりません。誰かが私を助けたり、これを行う方法についてのヒントを教えてもらえますか?

4

1 に答える 1

4

この方法でそれを行うことはできません。代わりにDQLを使用する必要があります。

アクセスした後entity.magazines、雑誌エンティティのコレクションを取得します。このコレクションをループして、コレクションchapters内の各アイテムにアクセスする必要があります。entity.magazines

だからここを参照してUsing Aggregate Functions ください

于 2012-11-05T20:30:30.443 に答える