2016-09-25 54 views
0

删除逗号我在我的控制器,这样创建一个命令:yii2:从createCommand

public function actionTotal($id) 
{ 
    $query1 = new Query; 
    $query1 ->select('sum(patient_services.price) price, sum(receipts.price) receipts ,') 
     ->from('patient_services ') 
     ->leftJoin(' receipts ON patient_services.patient_id=receipts.patient_id') 
     ->where('patient_services.patient_id=:id', array(':id'=>$id));   
    $command1 = $query1->createCommand(); 
    $price = $command1->queryAll(); 
    echo Json::encode($price); 
} 

当我尝试...选择代码有一个逗号和。我不知道如何删除它

SELECT sum(patient_services.price) price, sum(receipts.price) receipts FROM `patient_services` LEFT JOIN ` receipts ON` `patient_services`.`patient_id=receipts`.`patient_id` WHERE patient_services.patient_id=1 

当我从SQL代码中删除所有逗号,并尝试在phpMyAdmin ..它正常工作:(

回答

2

你有一个无效的leftJoin这种替换:

->leftJoin('receipts', 'patient_services.patient_id = receipts.patient_id') 

也好像你在你的选择查询的末尾一个额外的逗号删除最后一个逗号SELECT查询应该是这样的:

$query1 ->select('sum(patient_services.price) price, sum(receipts.price) receipts') 

希望这个作品。

+0

非常感谢你,它工作正常,,,但我有一个新问题,我该如何添加IFNull到我的命令? –

+0

$ query1-> select(['sum(patient_services.price)price,sum(IFNULL(receipts.price,0))receipts']) –