私のテーマが私のブログで何回使用されたのかを数えたいと思います。DQLクエリ - 右結合
ブログ投稿(フランス語の記事)は、1つ以上のテーマを使用できます。
themes_articles(id_theme、id_article) そして:
テーマ(id_theme、nom_theme)
- 記事(ブログ記事)(
は、だから私はテーブル(多対多)を持っていますid_article、description ...)
SQLでは、私は:
SELECT T.id,nom_theme,count(A.themes_id) from themes_articles A right join themes T on T.id=A.themes_id group by nom_theme
これはうまくいきますが、DQLで右ジョインを使用したい場合は少し難しいです。私は左の結合を使用するために私の2つのテーブルを切り替えましたが、私はここで私の関係テーブル(themes_articles)をどのように使うことができるのか分かりません。
私はこのような何か試してみました:
$query = $this->createQueryBuilder('')
->select(array('T.id', 'nomTheme', 'count(A.themes_id) as nombre'))
->from('themes', 'T')
->leftJoin('themes_articles', 'A', 'WITH', 'T.id= A.themes_id')
->groupBy('nom_theme');
return $query->getQuery()->getResult();
をしかし、それは動作しません。
[Semantical Error] line 0, col 93 near 'themes_articles': Error: Class 'themes_articles' is not defined.
DQLリクエストでSQLリクエストを変換するにはどうすればよいですか?
ありがとうございました。
それは "動作しない" とは何を意味するのでしょうか?あなたはエラーを取得しますか? –
こんにちは。 はい、私はこのエラーがあります: [意味的なエラー]行0、列93の近くに 'themes_articles':エラー:クラス 'themes_articles'が定義されていません。 – devicz