Элементарный запрос, с которым, почему-то, возникли сложности.
Итак, есть две сущности (таблицы) которые между собой не связаны (foreign key нет):
Нужно через createQueryBuilder построить запрос вида:
SELECT post.title, view.views FROM post
JOIN view ON post.title = view.post
WHERE view.views > 0;
Пишу:
public function getPosts(): array
{
return $this->createQueryBuilder('p')
->join(View::class, 'v', 'ON', 'p.title = v.post')
->where('v.views > 0')
->getQuery()
->getResult()
;
}
Получаю ошибку:
QueryException: [Syntax Error] line 0, col 61: Error: Expected end of string, got 'ON'
Если сущности связаны между собой через свойство - то проблем сждойнить не возникает. Но неужели нужно связывать вначале сущности через свойство, чтобы потом сделать нужный join в QueryBuilder?