Symfony2 学说嵌套连接关系
Symfony2 doctrine nested join relation
我想用我的查询做这样的事情:
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();
有人能告诉我,我是如何做到这一点的吗?
您需要执行查询才能获得结果。
$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
中得到了什么?
您好,试试这样的操作(您可以将 getResult() 替换为 getSingleResult() 或任何适合您的方法):
$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();
我想用我的查询做这样的事情:
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();
有人能告诉我,我是如何做到这一点的吗?
您需要执行查询才能获得结果。
$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
中得到了什么?
您好,试试这样的操作(您可以将 getResult() 替换为 getSingleResult() 或任何适合您的方法):
$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();