doctrine-ormdoctrine-extensions

Doctrine2 loading DoctrineExtensions


I want to use the DAY() and YEAR() functions in my Doctrine2 query builder. But somehow I keep on getting errors:

Fatal error: Uncaught Doctrine\ORM\Query\QueryException: SELECT DAY(h.date) AS day FROM Entities\Hit h GROUP BY day in

PHP Code:

$totalHits = $this->registry->entityManager->getRepository('Entities\Hit')
->createQueryBuilder('h')
->select('DAY(h.date) AS day')
->groupBy('day')
->getQuery()->getResult();`

Loading the doctrineExtensions through composer or through the autoloader wouldn't fix it:

$classLoader = new \Doctrine\Common\ClassLoader('DoctrineExtensions', __DIR__.'/../vendor/beberlei/DoctrineExtensions');
$classLoader->register();

Am I loading the DoctrineExtensions just wrongly or is there something else?


Solution

  • Fixed. Adding:

    $entityManagerConfig->addCustomDatetimeFunction('YEAR', 'DoctrineExtensions\Query\Sqlite\Year');
    $entityManagerConfig->addCustomDatetimeFunction('MONTH', 'DoctrineExtensions\Query\Sqlite\Month');
    $entityManagerConfig->addCustomDatetimeFunction('DAY', 'DoctrineExtensions\Query\Sqlite\Day');
    

    solved the problem