2

我们如何在 zend 框架 2 中使用教义 2 指定要在结果中返回的字段?这是我的查询:

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

我只想要语言表结果中的“名称”字段。

4

2 回答 2

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

学说查询语言 DQL

查询生成器

于 2013-02-11T08:54:11.240 回答
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

于 2013-02-11T10:33:42.240 回答