私は3つのテーブル/エンティティがあります。ドクトリン2/symfonyの多くの一つになったオブジェクト
ゲーム
SiteGamesを
サイト
私は、クエリを記述する必要がありますDoctrine 2では、特定のサイトで利用できるすべてのゲーム(オブジェクトとして)を取得します(この仕様を取得しましたオブジェクトとしてficサイト)。通常、生のSQLは次のようになり
- ゲーム/ game_id
- サイト/
をSITE_ID:(ワンへの多く) 関係だけでは、テーブル/エンティティSiteGameであり、それが列/オブジェクトが含まれています(と動作します):
SELECT g FROM site_games s INNER JOIN games g ON g.id=s.game_id WHERE site_id='4';
を私は教義に試みたが失敗したこの何:
$qb = $this->getEntityManager()->createQueryBuilder();
$qb->select("s.game")
->from("MyBundle:SiteGame","s")
->where("s.site = :site")
->setParameter("site",$site);
エラー:パスエクスプレッションが無効です。 StateFieldPathExpressionでなければなりません。
$qb = $this->getEntityManager()->createQueryBuilder();
$qb->select("g")
->from("MyBundle:SiteGame","s")
->join("s.game","g")
->where("s.site = :site")
->setParameter("site",$site);
エラー:少なくとも1つのルートエンティティエイリアスを選択せずに、識別変数でエンティティを選択できません。
さらに、さまざまな組み合わせで同様のエラーが発生します。
インターネット全体に役立つものは見つかりませんでした。
任意の構文が助けてくれました!助けてくれてありがとう! :) – DanielSz