Используя Doctrine, довольно легко «вырваться» из ORM.Doctrine позволяет писать запросы четырьмя различными способами:
- DQL.Собственный язык запросов Doctrine, который обладает всеми преимуществами Doctrine.
- «raw» DQL («Собственные запросы» в Doctrine2).Это похоже на DQL, но позволяет немного больше гибкости в командах (например, специфические особенности базы данных).В этом режиме вам нужно будет немного подробнее указать, как компоненты связаны друг с другом.
- SQL, используя PHP PDO.Вы можете использовать Doctrine_Connection для получения экземпляра PDO, который позволяет вам писать запросы, но при этом имеет дополнительную безопасность и простоту использования, предоставляемую PDO.
- raw SQL.Хотя я не уверен, почему вы этого хотите, я думаю, что Doctrine обеспечивает это, если нет, вы всегда можете полностью выйти из Doctrine.
Если вы используете Doctrine внутри Symfony,в Symfony нет абсолютно никаких функций, которые бы блокировали использование Doctrine, даже если он включен.
Последнее предупреждение: если вы используете некоторые из расширенных функций Doctrine (например, события или поведение), их будет сложно связать при выполнении запросов вне DQL.