我想用我的查询做这样的事情:
SELECT * FROM `Parent` P
LEFT JOIN `child` C ON P.id = C.parentID
LEFT JOIN `childOfChild` CoC ON C.id = CoC.cID
WHERE P.id = 1
我试试这个QueryBuilder但是没有工作。
$query = $this->getEntityManager()
->createQueryBuilder()
->select('P,C,CoC')
->from('DspAppsBundle:Parent', 'P')
->leftJoin('P.child', 'C')
->leftJoin('C.childOfChild', 'CoC')
->where('P.id = 1')
->getQuery();
有人可以告诉我,我的工作方式如何?
答案 0 :(得分:1)
嗨尝试这样的事情(你可以用getSingleResult()或任何适合你的东西替换getResult()):
$query = $this->getEntityManager()
->createQueryBuilder()
->select('P,C,CoC')
->from('DspAppsBundle:Parent', 'P')
->leftJoin('DspAppsBundle:Child', 'C', 'WITH', 'P.id = C.parentId')
->leftJoin('DspAppsBundle:ChildOfChild', 'CoC', 'WITH', 'C.id = CoC.cId')
->where('P.id = 1')
->getQuery()
->getResult();
答案 1 :(得分:0)
您需要执行查询才能获得结果。
$query = $this->getEntityManager()
->createQueryBuilder()
->select('P,C,CoC')
->from('DspAppsBundle:Parent', 'P')
->leftJoin('P.child', 'C')
->leftJoin('C.childOfChild', 'CoC')
->where('P.id = 1')
->getQuery();
$result = $query->execute();
你在$result
得到什么?