如何在Doctrine中获取不同年份的日期类型?

时间:2015-09-09 11:44:40

标签: symfony doctrine-orm doctrine

我在数据库中有3条数据类型记录,其中两条记录有不同的年份。我的SQL查询是:'从'post中选择DISTINCT YEAR(postdate)'。

PostRepository.php中的

我有这样的功能:

<?php

namespace Dev\TaskBundle\Entity;

use Doctrine\ORM\EntityRepository;
use Doctrine\DoctrineExtensions\Query\Mysql;

class PostRepository extends EntityRepository{
    public function getYears(){
        return $this->createQueryBuilder('p')
            ->select('YEAR(p.postdate')->distinct()
            ->getQuery()
            ->getResult();
    }
}

之前我配置了config.yml,我收到的错误是:

  

尝试从命名空间加载类“Year”   “DoctrineExtensions \查询\ mysql的”。你忘记了“使用”声明吗?   另一个命名空间?

有人可以解释什么是错的吗?

1 个答案:

答案 0 :(得分:0)

您忘记配置YEAR功能的扩展程序。您可以通过config.yml

来完成
doctrine:
    orm:
        dql:
            string_functions:
                YEAR: DoctrineExtensions\Query\Mysql\Year