0
我使用querybuilder進行了查詢。它看起來很喜歡:不使用Doctrine 2查詢所有對象querybuilder
//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');
它不起作用。我如何加入並顯示所有用戶也沒有地址?
Grtz