2013-10-11 1 views
0

У меня есть объект, который имеет столбец «inventoryLcoation_id», который имеет отношение много к одному. По какой-то причине, когда я использую createQueryBuilder(), он не возвращает это значение в моем вызове ajax, но возвращает все остальное: id, name и т. Д. И т. Д. Это не проблема с Symfony2, проблема с моей нехваткой знаний :)Symfony2 Query Builder, не возвращающий много одного значения

Вот мой запрос код строителя:

$qb = $this 
->createQueryBuilder('p') 
->select('p.id', 'p.name') 
->where('p.inventoryLocation = :inventoryId') 
->andWhere('p.account = :account_id') 
->setParameter('inventoryId', $value) 
->setParameter('account_id', $account_id) 
->orderBy('p.id', 'DESC'); 
if($qb->getQuery()->getArrayResult()){ 
     return $qb->getQuery()->getArrayResult(); 
}else{ 
     return false; 
} 

Что мне нужно коды, чтобы он также включает в себя стоимость от inventoryLocation стола, который преобразуется в значение столбца «inventoryLocation_id»?

Большое спасибо за помощь в освещении моего понимания удивительного мира Symfony2!

ответ

0

попробовать присоединиться:

$qb->join('p.inventoryLocation','i') 

и в избранных especify оба объекта

$qb->select('p','i') 

он должен выглядеть следующим образом:

$qb = $this 
->createQueryBuilder('p') 
->select('p','i') 
->join('p.inventoryLocation','i') 
->where('p.inventoryLocation = :inventoryId') // or ->where('i = :inventoryId') 
->andWhere('p.account = :account_id') 
->setParameter('inventoryId', $value) 
->setParameter('account_id', $account_id) 
->orderBy('p.id', 'DESC');