[英]How to convert this sql query to CDB criteria format on YII 1.1
I don't know how to convert this sql query to yii CDB criteria.我不知道如何将此 sql 查询转换为 yii CDB 标准。 please give me an idea to to do it.请给我一个想法来做这件事。
$sql="SELECT ICode,name,Date ,COUNT(*) AS tot, COUNT(case progress when '1' then 1 else null end) AS complete
FROM invoice i LEFT JOIN `customer` c ON `i`.`CID` = `c`.`CID`
left outer join (SELECT * FROM invoiceitem ) ii on ii.IID = i.IID
GROUP by ICode , name , `Date`
order by complete DESC";
Property "CDbCriteria.0" is not defined.未定义属性“CDbCriteria.0”。
You could write something like:你可以这样写:
<?php
$db = Yii::app()->db; //THIS IS YOUR DATABASE CONNECTION
//Query
$result = $db->createCommand()->select([
'ICode',
'name',
'Date',
'COUNT(*) AS tot',
'COUNT(CASE progress WHEN '1' THEN 1 ELSE null END) AS complete',
])->from('invoice AS i')
->leftJoin(
'customer AS c',
'i.CID = c.CID'
)->leftJoin(
'(SELECT * FROM invoiceitem ) AS ii',
'ii.IID = i.IID'
)->group('ICode, name, `Date`')->order('complete DESC')->queryAll();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.