Qualcuno può fornirmi un paio di motivi chiari (supportati) per utilizzare/imparare DQL vs. SQL quando si ha bisogno di una query personalizzata mentre si lavora con Doctrine Classes?Con Doctrine quali sono i vantaggi dell'utilizzo di DQL su SQL?
Trovo che se non riesco a utilizzare la funzionalità relazionale incorporata di un ORM per ottenere qualcosa, di solito scrivo un metodo personalizzato nella classe DoctrineTable o Doctrine estesa. In questo metodo scrivi il necessario in SQL diretto (usando PDO con istruzioni preparate/protezione dell'iniezione, ecc ...). DQL sembra che una lingua addizionale per imparare/eseguire il debug/manutenere non appaia fornisca sufficienti motivi validi da usare nelle situazioni più comuni. DQL non sembra essere molto meno complesso di SQL per garantirne l'utilizzo, anzi dubito che si possa usare efficacemente DQL senza avere una solida conoscenza di SQL. La maggior parte delle porte di sintassi SQL di base è abbastanza buona tra i DB più comuni che utilizzerai con PHP.
Cosa mi sfugge/mi domando? Sono sicuro che c'è una ragione, ma mi piacerebbe sentire da persone che l'hanno intenzionalmente usato in modo significativo e che cosa il guadagno è stato sopra cercando di lavorare con SQL plain-ole.
Non sto cercando un argomento che supporti gli ORM, solo DQL quando si ha bisogno di fare qualcosa al di fuori delle esigenze di base del tipo 'get-by-relationship', in un setup LAMP tradizionale (usando mysql, postgres, ecc ...)
Non ho argomenti supportati dal fatto, ma ho trovato che le relazioni con i nomi sono più facili da usare rispetto alle condizioni di join, un po 'meno incline agli errori e noiose da scrivere. –