繁体   English   中英

使用Where和Group By子句在Yii的CDBCriteria中写查询

[英]Write Query in CDBCriteria in Yii with Where and Group By clause

我有此查询,我想使用CDbCriteria进行此查询。 型号是Clog

SELECT c.id, c.answer, c.number
FROM `Clog`as c
WHERE c.company_id =20
AND date(c.answer) = '2016-04-02'
GROUP BY c.calls_id
HAVING count(c.id) <2

这是到目前为止我尝试过的..这是在CDbCriteria中使用WHERE,GROUPBY,HAVING COUNT ..的正确方法。这是我在模型Calls搜索功能

$criteria = new CDbCriteria();
$criteria->select = 'c.id, c.answer, c.number';
$criteria->addCondition(' c.company_id='.$this->companyId);
$criteria->addBetweenCondition(' c.answer', ''.$this->start_date.'', ''.$this->end_date.'');
$criteria->group = 'c.calls_id';
$criteria->limit < 2;

任何建议,如何在模型的搜索功能中实现,因为我想在CGridView中显示结果...

您按“ c.calls_id”分组的字段应该存在于您的选择语句中

$criteria->select = 'c.id, c.answer, c.number, c.calls_id';

例如,“具有”的正确陈述是:

$criteria->having = "count(c.id) < 2";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM