Не извлечение всех объектов с помощью построителя запросов Doctrine 2

Я сделал запрос с помощью построителя запросов. Это выглядит так:

//Create a Querybuilder
        $qb = $this->_em->createQueryBuilder();

        //Foreach entity, check if it's a join and leftjoin it.
        //If there's no join, make it the select
        foreach($config['entities'] as $name => $entity)
        {
            //add new alias(ses) to select statement
            $qb->addSelect($entity['alias']);

            if(!isset($entity['join'])){
                $qb->from($entity['path'], $entity['alias']);
            } else {
                $qb->leftJoin($entity['join'], $entity['alias']);
            }
        }
           ->orWhere(':test IS NULL')
       ->setParameter('test', 'User\Entity\Address');

    //Make the query
    $query = $qb->getQuery();

    //Return the result
    return $query->getResult();

Я сделал свой выбор и оставил динамическое соединение с файлом конфигурации. Таким образом, люди могут создавать собственные объединения. Но когда у меня есть (например) пользователи и адреса. Он показывает только пользователей с адресами. Пользователи без адресов не отображаются. Когда я не присоединяюсь, появляются все пользователи. Кто-нибудь имеет представление об этом? Я прочитал что-то вроде того, что я должен установить предложение where и сделать что-то вроде:

->orWhere(':test IS NULL')
           ->setParameter('test', 'User\Entity\Address');

Это не работает. Как я могу присоединиться и показать всех пользователей БЕЗ адресов?

Грц


person Haidy    schedule 02.05.2013    source источник


Ответы (1)


У меня проблема с моим предложением where. В нем было «лайк», где он хочет лайкнуть «улицу» (из адресов), чему-то. Но когда у пользователей не было адреса, он не может поставить лайк и поэтому не показывает пользователя целиком.

person Haidy    schedule 02.05.2013