首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Group By on Containable models using cake php

Group By on Containable models using cake php
EN

Stack Overflow用户
提问于 2013-11-26 23:55:19
回答 2查看 2.3K关注 0票数 1

嗨,我有以下协会的模型标志

代码语言:javascript
复制
var $belongsTo = array(
    'Attachment' => array(
        'className'=>'Attachment',
        'foreignKey'=>'attachment_id'
    ),
    'Employee' => array(
        'className'=>'Employee',
        'foreignKey'=>'employee_id'
    )
);

var $hasMany = array(
    'Voting' => array(
        'className'=>'Voting',
        'foreignKey'=>'program_id'
    )
);

我用下面的方式编写了一个查询,它抛出了错误

代码语言:javascript
复制
$PrgCond['contain'] = array(
    'Attachment',
    'Voting' => array(
        'fields' => array(
            'logo_program_id',
            'COUNT(employee_id) as noOfEmps'
        ),
        'group' => array('LogoVoting.logo_program_id')
    ), 
    'Employee' => array(
        'fields' => array('id', 'employee_number', 'first_name', 'last_name')
    )
);
$logoPrgDatas = $this->Program->find('all',$PrgCond);
 Thrown Error is 

SQL Error: 1054: Unknown column 'LogoVoting.logo_program_id' in 'field list' 
EN

回答 2

Stack Overflow用户

发布于 2015-01-30 23:48:54

这是一个古老的问题,但仍然会出现在谷歌的搜索结果中。我也遇到过类似的问题,我发现当你有关联或者在cakephp 1.*或2.*中使用可包含的行为(使用关联)时,你不能在模型查找选项中使用

但是,在cakephp 3.*中使用查询构建器!:)修复了此问题

票数 1
EN

Stack Overflow用户

发布于 2013-11-27 08:54:53

在您的字段中引用模型是一个好主意。例如,在条件或字段数组中使用列时,应将其命名为Model.column_name

话虽如此,你遇到的问题很可能与小组有关:

'group' => array('LogoVoting.logo_program_id')

您的模型中没有LogoVoting。它应该是:

'group' => array('Voting.logo_program_id')

因此,我将把查询更新为:

代码语言:javascript
复制
$PrgCond['contain'] = array(
    'Attachment',
    'Voting' => array(
        'fields' => array(
            'Voting.logo_program_id',
            'COUNT(Voting.employee_id) as noOfEmps',
        ),
        'group' => array('Voting.logo_program_id'),
    ), 
    'Employee' => array(
        'fields' => array(
            'Employee.id',
            'Employee.employee_number',
            'Employee.first_name',
            'Employee.last_name',
        ),
    ),
);
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20221854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档