Doctrine 按一岁以上儿童分组

Doctrine 按一岁以上儿童分组,doctrine,Doctrine,我有一个prodcut存档列表,我正在使用dotrine和symfony,我希望显示存档产品列表: $query = Doctrine::getTable('Product') ->createQuery('a') ->select('a.created_at, YEAR(a.created_at) as year, MONTH(a.created_at) as month') ->groupBy('

我有一个prodcut存档列表,我正在使用dotrine和symfony,我希望显示存档产品列表:

   $query = Doctrine::getTable('Product')
            ->createQuery('a')
            ->select('a.created_at, YEAR(a.created_at) as year, MONTH(a.created_at) as month')
            ->groupBy('year, month')
            ->orderBy('a.created_at DESC')
            ->setHydrationMode(Doctrine_Core::HYDRATE_ARRAY)
            ->execute();
因此,我希望更改查询,以便当超过1年时,它应该按年分组添加产品

编辑

我加了这个,但我想它不适用于原则1:

->andWhere("year <= DATE_ADD(CURRENT_DATE(), 1, 'YEAR')")

我认为你不能在一次选择中定义不同的
groupBy
子句。但是,您可以执行以下操作之一:


(1)
构建两个独立查询-一个用于>1年,另一个用于您可以在上面的我的消息中看到我的修改可能使用
->和where(“年”)
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1, 'YEAR')