2014-09-10 105 views
0

我刚刚安装StofDoctrineExtensionsBundle使用SQL函数MONTH()和YEAR(),但我不断收到此错误:YEAR()和MONTH()在Doctrine2与Symfony的2.4

试图加载类“月“来自/var/www/symfony/vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php 3389行的命名空间”DoctrineExtensions \ Query \ Mysql“。你需要从另一个命名空间”使用“它吗?

在我的控制器我有这样的:

$dql = "SELECT x FROM PFCFisiogestBundle:FacturaEmitida x WHERE MONTH(x.fecha) BETWEEN '".$mes_inicio."' AND '".$mes_fin."' 
       AND YEAR(x.fecha) = '".$ano."' ORDER BY x.numero DESC"; 
$queryDefault = $em->createQuery($dql); 

而且在config.yml

doctrine: 
    dbal: 
     driver: "%database_driver%" 
     host:  "%database_host%" 
     port:  "%database_port%" 
     dbname: "%database_name%" 
     user:  "%database_user%" 
     password: "%database_password%" 
     charset: UTF8 

    orm: 
     auto_generate_proxy_classes: "%kernel.debug%" 
     auto_mapping: true 
     dql: 
      string_functions: 
       MONTH: DoctrineExtensions\Query\Mysql\Month 
       YEAR: DoctrineExtensions\Query\Mysql\Year 

我缺少什么? :-(

+0

验证您有供应商/ berberlei/DoctrineExtension目录。您引用的stof捆绑包不会加载这些特定的扩展,您可能需要在您的composer.json文件中添加:“beberlei/DoctrineExtensions”:“*”。 – Cerad 2014-09-10 15:16:03

回答

1

这包是一个SF2包装为行为主义的扩展,这是一个不同的情况下比你

试试这个orocrm/doctrine-extensions ..它支持MySQL和Postgres太...应该支持其他DBMS中未来

相关问题