Php 使用多个groupBy列返回错误的结果

Php 使用多个groupBy列返回错误的结果,php,mysql,orm,doctrine,Php,Mysql,Orm,Doctrine,我使用mySQL作为数据库进行了条令查询设置: 问题在于第二个查询返回make.id,第三个查询使用make.id选择1个make(Alfa Romeo有3个模型)。我想要的是返回make/model组合的数量 如果我将Doctrine_Pager中返回的项目数更改为2,我会得到33行(因为从两个选定的品牌中,阿尔法罗密欧有3个车型,奥迪(下一个)有30个车型) 我在哪里犯了错误 $table->setAttribute(Doctrine_Core::ATTR_QUERY_LIMIT, D

我使用mySQL作为数据库进行了条令查询设置:

问题在于第二个查询返回make.id,第三个查询使用make.id选择1个make(Alfa Romeo有3个模型)。我想要的是返回make/model组合的数量

如果我将Doctrine_Pager中返回的项目数更改为2,我会得到33行(因为从两个选定的品牌中,阿尔法罗密欧有3个车型,奥迪(下一个)有30个车型)

我在哪里犯了错误

$table->setAttribute(Doctrine_Core::ATTR_QUERY_LIMIT, Doctrine_Core::LIMIT_ROWS);


您不能通过将多个列合并到一个组中。请尝试此

$q->groupBy('make.id');
$q->addGroupBy('model.id');
或者再压缩一点

$q->groupBy('make.id')->addGroupBy('model.id');

您不能通过将多个列合并到一个组中。请尝试此

$q->groupBy('make.id');
$q->addGroupBy('model.id');
或者再压缩一点

$q->groupBy('make.id')->addGroupBy('model.id');