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