【问题标题】:specify fields in zf2 doctrine2 query在 zf2 学说 2 查询中指定字段
【发布时间】:2013-02-11 07:45:30
【问题描述】:

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

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

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

【问题讨论】:

    标签: doctrine zend-framework2


    【解决方案1】:

    我通常使用这样的 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

    【讨论】:

    • 我正在寻找一种不使用 DQL 的方法,而是在我已实现的内容中传递参数(如我的示例所示),但我想我可能还是需要使用 DQL。谢谢
    【解决方案2】:

    直接使用 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-21
      • 2013-08-14
      • 1970-01-01
      • 2013-09-29
      • 1970-01-01
      相关资源
      最近更新 更多