简体   繁体   English

如何在 YII 1.1 上将此 sql 查询转换为 CDB 条件格式

[英]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.

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