在symfony

时间:2017-06-30 07:21:16

标签: php entity-framework symfony

我不知道在第二级数组中显示实体的确切术语。 我有实体博士。在我的图片中查看我的列表

enter image description here

如果您可以在Doctor列表下看到实体Person。它显示Person实体,如firstName和lastName。如何在facilityPackageDoctors中显示相同内容?我希望它显示包名称和设施,它现在显示的不是facilityPackageDoctors列表。这是我的查询

public function getFacilityPackageDoctors($facilityId){    
    $query = $this->createQueryBuilder('d')
            ->leftJoin('d.facilityPackageDoctors', 'fpd')
            ->leftJoin('fpd.facilityPackage', 'fp')
            ->where('fp.facility = :parameter')
            ->setParameter('parameter', $facilityId)
            ->getQuery();
    return $query->getResult();
}

我有什么要设置的吗?对不起我使用的术语。

2 个答案:

答案 0 :(得分:0)

尝试类似的东西

public function getFacilityPackageDoctors($facilityId){    
$query = $this->createQueryBuilder('d')
        ->leftJoin('d.facilityPackageDoctors', 'fpd')
        ->leftJoin('fpd.facilityPackage', 'fp')
        ->addSelect('fp as facility')
        ->where('fp.facility = :parameter')
        ->setParameter('parameter', $facilityId)
        ->getQuery();
return $query->getResult();
}

答案 1 :(得分:0)

感谢ccKep。我通过添加addSelect()

找到了解决方案
public function getFacilityPackageDoctors($facilityId){

        $query = $this->createQueryBuilder('d')
            ->leftJoin('d.facilityPackageDoctors', 'fpd')
            ->leftJoin('fpd.facilityPackage', 'fp')
            ->addSelect('fpd')
            ->where('fp.facility = :facilityId')
            ->setParameter('facilityId', $facilityId)
            ->getQuery();

        return $query->getResult();
    }