次のクエリを使用して、id=2 のグループ レコードに属するすべてのキーワード レコードを最初に取得しています。これはうまくいくようです。
SELECT k.*, g.groupid, kg.keywordid
FROM keywords k
JOIN keywords_groups kg ON k.keywordid=kg.keywordid
JOIN groups g ON kg.groupid=g.groupid
ORDER BY kg.groupid = 2 DESC;
ただし、これを DQL に変換しようとしていますが、次のエラーが発生し続けます。
[Syntax Error] line 0, col 198: Error: Expected end of string, got '='
私のDQLの問題のある行は次のようです:
->orderBy($keywordQB->expr()->eq('g.groupid', ':keyword_group_id'), 'ASC')
Doctrineはこれをサポートしていないようで、DQLでこれを行う別の方法は考えられません。
助けに感謝します。