我正在尝试在我的一个表上进行查找,并且我正在动态地将hasMany关系的条件从一个模型添加到另一个模型。一切工作正常,除了Cake不会将组条件应用于查询。如果我复制生成的查询,并在MySQL中运行它并添加我的分组条件,它会很好地工作。我尝试了很多东西,但都无济于事,现在我拥有它的方式就像Cake文档中的查找页面设置告诉我通过设置一个组。你可以在下面找到我是如何做到的:CakePHP不会按条件应用分组
$this->Project->hasMany['ProjectTime']['conditions'] = array('user_id'=>$this->Auth->user('id'), 'date_entry >= '.$firstDay.' AND date_entry <= '.$lastDay);
$this->Project->hasMany['ProjectTime']['order'] = array('date_entry ASC');
$this->Project->hasMany['ProjectTime']['group'] = 'ProjectTime.date_entry';
$this->Project->hasMany['ProjectTime']['fields'] = array('ProjectTime.date_entry, ProjectTime.user_id, ProjectTime.project_id, SUM(ProjectTime.duration) AS durationTotal');
$result = $this->Project->find('all', array('conditions'=>array('Project.id IN (' . implode(",", $projectTimeArray) . ')')));
我试着把它直接放在模型中的hasMany数组中 - 什么都没有。我曾尝试在该组周围放置一个阵列 - 什么都没有。我真的很难过,所以如果有人能帮忙,我会非常感激。
您不需要崩溃,CakePHP理解Project.id的数组。 – mark