Cakephp计算可包含的记录

时间:2015-09-12 22:38:21

标签: php mysql cakephp

Cakephp 2.6

学校有很多学生,我正在学校模型中运行一个可包含的查询。在这个查询中,我想计算每个学校的学生人数,但我无法让它工作。

我已尝试使用以下虚拟字段,但它不起作用

$this->virtualFields['total'] = 'COUNT(Pupil.id)'; 以下是给出不准确的计数

$contain = array(
            'Pupil' => array(
                'fields' => array(
                    'CONT(Pupil.id) AS total'
                )
            ),
        );

我不想使用counterCache,因为数据可以大量导入到框架之外的两个表中,因此我不能依赖它来更新计数字段。 如何才能正确运行此计数?

1 个答案:

答案 0 :(得分:-1)

尝试按School s:

添加分组
    $contain = array(
        'Pupil' => array(
            'fields' => array(
                'CONT(Pupil.id) AS total'
            ),
            'group' => array('Pupil.school_id') // doesn't really know how you called `school` relation column...
        ),
    );