Как посмотреть SQL-запрос, сформированный с помощью QueryBuilder-а в Doctrine


Иногда при работе с QueryBuilder-ом в Doctrine требуется увидеть реальный sql-запрос, который будет сформирован и выполнен, чтобы понять, верно ли он построен и корректно ли прописаны связи сущностей/условия и пр. Мы пожем посмотреть этот запрос, получив объект Query. Далее мы используем метод getSQL(), возвращающий итоговый запрос. Пример:

1
2
$query = $qb->getQuery();
echo $query->getSQL();

Более развернутый пример:

1
2
3
4
5
6
7
8
9
$qb = $em->createQueryBuilder();
 
$qb->select("u", "c")
   ->from("user", "u")
   ->join("u.contacts", "c")           
   ->where($qb->expr()->eq("u.login", "test"));
 
$query = $qb->getQuery();
echo $query->getSQL();




Другие посты

Категория: Doctrine

Оставить комментарий