2014-02-17 3 views
0

Я пытаюсь преобразовать этот запрос в QueryBuilder:Symfony Учение QueryBuilder

SELECT *, landingpages_content.id as cid FROM `landingpages_content` LEFT JOIN content ON landingpages_content.content_id = content.id WHERE content.enabled = 1 AND landingpages_content.landingpage_id = ? ORDER BY landingpages_content.`order` 

Это мой QueryBuilder код:

$queryBuilder 
    ->select('*, landingpages_content.id as cid') 
    ->from('landingpages_content', 'landingpages_content') 
    ->leftJoin('landingpages_content.content_id', 'content.id', null) 
    ->where('content.enabled = 1') 
    ->andWhere('landingpages_content.landingpage_id = :id') 
    ->setParameter('id', $id) 
    ->orderBy('landingpages_content.`order`', 'ASC'); 

возвращает

InvalidArgumentException: Построитель запросов не может имеют объединения.

ответ

0

Вы используете leftJoin метод неправильный. Попробуйте что-то вроде этого:

$queryBuilder 
    ->select('*, landingpages_content.id as cid') 
    ->from('landingpages_content', 'landingpages_content') 
    ->leftJoin('landingpages_content.content', 'content', 'ON', 'landingpages_content.content_id = content.id') 
    ->where('content.enabled = 1') 
    ->andWhere('landingpages_content.landingpage_id = :id') 
    ->setParameter('id', $id) 
    ->orderBy('landingpages_content.order', 'ASC'); 
+0

По-прежнему та же ошибка. – user3320954

+0

Ну, это странно, я не могу найти такую ​​ошибку в коде Symfony. Можете ли вы указать, каким кодом это исключение выбрано? –

+0

Это не вызвано symfony. Это вызвано [link] (https://github.com/whiteoctober/Pagerfanta/blob/master/src/Pagerfanta/Adapter/DoctrineDbalSingleTableAdapter.php) – user3320954

Смежные вопросы