是否使用Symfony2从实体和相关实体获取特定字段?
我希望以优化的方式获取所有项目(id、标题、说明)及其状态(仅id和标题) 在我的存储库中:是否使用Symfony2从实体和相关实体获取特定字段?,symfony,orm,doctrine-orm,Symfony,Orm,Doctrine Orm,我希望以优化的方式获取所有项目(id、标题、说明)及其状态(仅id和标题) 在我的存储库中: public function getProjectsWithStatuses() { $query = $this->createQueryBuilder('e') ->leftJoin('e.statuses', 'r') ->getQuery(); return $query->getResult(); } 在我的控制器中
public function getProjectsWithStatuses() {
$query = $this->createQueryBuilder('e')
->leftJoin('e.statuses', 'r')
->getQuery();
return $query->getResult();
}
在我的控制器中:
$em = $this->getDoctrine()->getManager();
$projects = $em->getRepository('TutoCrmBundle:Project')->getProjectsWithStatuses();
var_dump($projects); die();
$projects = $em->getRepository('AkimediaCrmBundle:Project')->findAll();
我得到了与直接在控制器上使用此相同的东西:
$em = $this->getDoctrine()->getManager();
$projects = $em->getRepository('TutoCrmBundle:Project')->getProjectsWithStatuses();
var_dump($projects); die();
$projects = $em->getRepository('AkimediaCrmBundle:Project')->findAll();
但是如何创建优化查询(仅需要字段+搜索器加载)?您正在加入相关实体,但没有选择任何内容:
$query = $this->createQueryBuilder('e')
->leftJoin('e.statuses', 'r')
->addSelect('r')
->getQuery();
如果a只想获得项目标题和状态标题?我试过:->addSelect('e.title','r.title'),但我得到了更多。您可以使用。