-1

我不知道如何将此 sql 查询转换为 yii CDB 标准。请给我一个想法。

$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";

未定义属性“CDbCriteria.0”。

4

1 回答 1

0

你可以这样写:

 <?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();
于 2019-08-09T18:14:41.577 回答