Doctrine クラスで作業しているときにカスタムクエリが必要な場合に、DQL と SQL を使用/学習する明確な (事実がサポートされている) 理由を誰かが教えてくれますか?
ORM の組み込みリレーショナル機能を使用して何かを達成できない場合は、通常、拡張された Doctrine または DoctrineTable クラスにカスタム メソッドを記述します。このメソッドでは、必要なものをストレート SQL で記述します (適切な準備済みステートメント/インジェクション保護などを備えた PDO を使用します...)。DQL は、ほとんどの一般的な状況で使用する十分な説得力のある理由を提供していないように見える、学習/デバッグ/維持するための追加言語のようです。DQL は SQL よりもそれほど複雑ではないように思われます。実際、SQL を十分に理解していなければ、DQL を効果的に使用できるとは思えません。ほとんどのコア SQL 構文は、PHP で使用する最も一般的な DB にかなりうまく移植されています。
何が欠けている/見落としていますか? 理由があると確信していますが、意図的にそれを大幅に使用した人から、プレーンオール SQL を操作することで得られたものについて聞きたいと思います。
ORM をサポートする引数を探しているのではなく、従来の LAMP セットアップ (mysql、postgres などを使用) で、コアの「get-by-relationship」タイプのニーズ以外で何かを行う必要がある場合にのみ DQL を探しています。