2014-09-10 84 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中未來

相關問題