symfony2について質問があります。
私はプロジェクトを持っていて、それでデータベースを使用しています。私はほとんどの部分でDoctrine2とエンティティクラスを使用します。私はエンティティクラスのオブジェクトデータベースのものが好きで、とても便利です。
私の質問は、symfonyで通常のSQLを実行する方法はありますか?標準SQLを使用しようとすると、常に例外が発生します。doctrine2の結合に問題があるので、通常のSQLを使用します。
私の結合はSQLでは次のようになります。
SELECT DISTINCT Document . *
FROM Document
INNER JOIN DocumentGruppe ON Document.id = DocumentGruppe.dokId
INNER JOIN UserGruppe ON DocumentGruppe.gruppenId = UserGruppe.gruppenId
WHERE UserGruppe.userId =9
最後のwhere句はテスト用です。DQLでdoctrineを使用すると、例外があると常に表示されますThe Variable DocumentGruppe was not defined before
。
これが私のDQLクエリです:
$test = $em->createQuery(
'SELECT DISTINCT d
FROM AcmeDocumentBundle:Document d
INNER JOIN DocumentGruppe dg ON d.id = dg.dokId
INNER JOIN UserGruppe ug ON dg.gruppenId = ug.gruppenId
WHERE ug.userId =9
'
);
誰かが回避策またはこのdoctrine2のものを使用して結合を操作する方法を知っていますか?