关于cakephp,我的数据库结构如下:
1。)班级
2。)学生
3。)成绩
我的问题: 我希望我的统计页面的布局类似于 -
1。)1级(学生总数= XX)
2。)2级(学生总数= XX)
我正在申请 counterCache =>真的在我的学生模型中,这样我就可以使用一个查找('全部')功能获得每个课堂上的学生总数,但每个年级的学生人数如何?以及如何将2个查询组合成一个显示器?
答案 0 :(得分:0)
不确定,但我认为你可以这样试试:
$students = $this->Student->find('all',array('condtions'=>array('class_id'=>array($class1id,$class2id)),'group'=>array('class_id','grade_id')));
答案 1 :(得分:0)
我想您可能想重新访问您的架构。你真的只想要一个学生只属于一个班级吗?
我建议将课程设置为相同。将您的学生模型更改为id,name。然后设置学生HABTM成绩,设置成绩hasAndBelongsTo等级。您将需要一个加入表,grade_students,它将链接学生和成绩。
现在每个学生都可以拥有> 1个班级,虽然每个班级每个学生只限1个年级(如果学生重复上课怎么办?这应该由您的商业设计决定......)
最后,通过此设置,您将需要使用Containable行为。它允许您根据相关模型的标准从学生模型中过滤(通常使用HABTM,否则不能这样做)。