在zf2 doctrine2查询中指定字段

时间:2013-02-11 07:45:31

标签: doctrine zend-framework2

我们如何使用doctrine 2在zend框架2中指定要在结果中返回的字段? 这是我的疑问:

$allLanguages = $this->getEntityManager()
                    ->getRepository('Language')
                    ->findAll();

我只想在语言表的结果中使用'name'字段。

2 个答案:

答案 0 :(得分:2)

我通常像这样使用DQL来自定义查询。

    $u = $_GET['u'];
    $query = $this->getEntityManager()->createQuery("SELECT u.username FROM Auth\Entity\User u WHERE u.username LIKE :username AND u.companyID = :companyID ");
    $query->setParameter('username', '%'.$u.'%')
            ->setParameter('companyID', $companyID);

    $users = $query->getResult();

在你的情况下。它可能有些像。

$query = $this->getEntityManager()->createQuery("SELECT l.name FROM Langauge l");

$langaugeNames = $query->getResult();

Doctrine Query Language DQL

Query Builder

答案 1 :(得分:1)

直接使用DQL:

$languages = $entityManager->createQuery("SELECT l.name FROM Language l")->getResult();

http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/dql-doctrine-query-language.html#pure-and-mixed-results