Doctrineクラスで作業しているときにカスタムクエリが必要なときに、DQLとSQLを使用/学習する理由をいくつか教えてください。Doctrineでは、SQL上でDQLを使用するメリットは何ですか?
ORMの組み込みリレーショナル機能を使用して何かを達成できない場合は、通常、拡張DoctrineまたはDoctrineTableクラスでカスタムメソッドを作成します。この方法では、適切なプリペアドステートメント/注入保護などでPDOを使用して、必要なSQLを直接SQLに書き込みます。 DQLは、ほとんどの一般的な状況で使用するのに十分な説得力のある理由を提供していないように見える、学習/デバッグ/保守の追加言語のようです。 DQLはSQLよりもはるかに複雑ではないようですが、実際にはSQLの知識がなくてもDQLを効果的に使用することはできません。ほとんどのコアSQL構文ポートは、PHPで使用する最も一般的なDB全体でかなりよく機能します。
私は見逃していますか?理由があると確信していますが、意図的にそれを意図的に使用した人から聞いてみたいと思います。
私は、従来のLAMPセットアップ(mysql、postgresなどを使用して、コアの 'get-by-relationship'タイプのニーズを外れることを必要とする場合、ORMをサポートする引数は探していません... )
実際にサポートされている引数はありませんが、名前の関係が結合条件よりも使いやすく、エラーが発生しにくく、書き込みが面倒です。 –