使用Symfony2从实体和相关实体获取特定字段?

时间:2014-02-14 11:27:44

标签: symfony orm doctrine-orm

我希望以优化的方式获取我的所有项目(ID,标题,描述)及其状态(仅限ID和标题)。

在我的存储库中:

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();

但是如何创建优化查询(只需要字段+ earger加载)?

1 个答案:

答案 0 :(得分:0)

您正在加入相关实体,但您没有选择任何内容:

$query = $this->createQueryBuilder('e')
    ->leftJoin('e.statuses', 'r')
    ->addSelect('r')
    ->getQuery();