Welche Vorteile bietet die Verwendung von DQL gegenüber SQL mit Doctrine?

Kann mir jemand ein paar klare (von Fakten unterstützte) Gründe nennen, warum ich DQL im Vergleich zu SQL verwenden / lernen soll, wenn ich eine benutzerdefinierte Abfrage benötige, während ich mit Doctrine Classes arbeite?

Wenn ich die integrierte relationale Funktionalität eines ORM nicht verwenden kann, um etwas zu erreichen, schreibe ich normalerweise eine benutzerdefinierte Methode in die erweiterte Doctrine- oder DoctrineTable-Klasse. In dieser Methode schreiben Sie die benötigten in direktem SQL (mit PDO mit richtig vorbereiteten Anweisungen / Injektionsschutz, etc ...). DQL scheint eine zusätzliche Sprache zum Lernen / Debuggen / Warten zu sein, die nicht genügend überzeugende Gründe für die Verwendung in den meisten gängigen Situationen bietet. DQL scheint nicht viel weniger komplex zu sein als SQL, um die Verwendung zu rechtfertigen. Ich bezweifle, dass Sie DQL effektiv einsetzen können, ohne bereits solides SQL-Verständnis zu haben. Die meisten Kern-SQL-Syntax-Ports passen ziemlich gut zu den gängigsten Datenbanken, die Sie mit PHP verwenden werden.

Was vermisse ich? Ich bin mir sicher, dass es einen Grund gibt, aber ich würde gerne von Leuten hören, die ihn absichtlich in großem Umfang genutzt haben und wissen möchten, welchen Vorteil es hatte, wenn sie versucht haben, mit einfachem SQL zu arbeiten.

Ich bin nicht auf der Suche nach einem Argument, das ORMs unterstützt, sondern nur nach DQL, wenn in einem traditionellen LAMP-Setup (unter Verwendung von MySQL, Postgres usw.) etwas außerhalb der Kernanforderungen für "Get-by-Relationship" getan werden muss.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage