Я пытаюсь использовать построитель запросов для объединения двух таблиц, которые не имеют отношения.Symfony 2 query builder join without relation (cross join)
Желаемый конечный результат:
SELECT x, y
FROM x
JOIN y
код запроса строитель:
$qb = $this->getEntityManager()->createQueryBuilder();
$qb->select('x');
$qb->from('Test1', 'x');
$qb->join('Test2', 'y');
$qb->orderBy('x.name', 'ASC');
Производит следующие DQL:
SELECT x FROM Test1 x INNER JOIN Test2 y ORDER BY x.name ASC
что приводит к синтаксической ошибке:
[Syntax Error] line 0, col 137: Error: Expected Literal, got 'BY'
Сущности Test1 и Test2 не имеют отношения (не в коде, так и в базе данных).
Есть ли способ сделать это? Я хотел бы использовать построитель запросов, потому что у меня есть много других функций для запроса, который зависит от построителя запросов (для фильтрации и сортировки и т. Д.).
Я знаю, что это возможно при использовании простых SQL или DQL-запросов (не созданных построителем запросов).
Но нет никакого отношения. Итак, x не относится к y –
Не понимаю, почему вы хотите отсортировать абсолютно 2 разных таблицы как один? Это очень плохая практика проектирования. –
Это именно то, что я хочу. У меня есть таблица с доменами и таблица с параметрами. Я хочу, чтобы набор результатов со списком всех параметров для всех доменов. –