Я портирую простое веб-приложение, написанное на CodeIgniter, в пакет Symfony2.Я новичок в Symfony2 и Doctrine, и у меня проблема с одним SQL-запросом, который я хочу переписать в DQL.Я все готов к работе в своем комплекте, я создал класс Entity и могу вставлять данные в базу данных и выполнять простые запросы в объектно-ориентированном программировании способом, который предоставляет Symfony2.К сожалению, я не знаю, как реализовать этот SQL-запрос в DQL:
$sql = "SELECT * FROM t WHERE
UNIX_TIMESTAMP(t.date) > ".(time()-300)." AND
ROUND(t.x,3) = ".round($x, 3);
Как вы можете видеть, есть некоторые вызовы функций SQL, которые необходимо выполнить на сервере базы данных.Доктрина не может понять эти призывы.Конечно, у меня есть возможность выйти из Doctrine и выполнить этот запрос, используя базовый PDO внутри моего пакета Symfony2, но я хотел бы воспользоваться всеми преимуществами использования Symfony2 и Doctrine.Поэтому я хотел бы сделать это ООП-способом или с помощью умного DQL-запроса, который понимает что-то вроде:
$em->createQuery("SELECT t FROM MyTestBundle:MyEntity t WHERE t.x = :x")
->setParameter("x", round($x,3));
, но возможность переписать мой SQL-запрос из старого приложения в мой новый пакет является обязательным.Пожалуйста, помогите мне найти правильное решение.