查询生成器中的yii if条件

查询生成器中的yii if条件,yii,Yii,这是我的模型文件 我想要实现的是,如果$condition是true,那么where条件应该避免,如果它是false,那么应该包括它 我能做到这一点吗 class Retailjob extends CFormModel { public function getReatilProducts() { $condition=false; $user = Yii::app()->db->createCommand() -

这是我的模型文件 我想要实现的是,如果$condition是true,那么where条件应该避免,如果它是false,那么应该包括它

我能做到这一点吗

class Retailjob extends CFormModel {

    public function getReatilProducts() {

        $condition=false;
        $user = Yii::app()->db->createCommand()
            ->select('tbl_retailjob.retailjobmaster_id, tbl_retailjob.joborderflag, tbl_retailjoborder.retailjob_id, tbl_retailjoborder.retailjobsub_id, tbl_retailjoborder.filename,tbl_retailpostpressjoborder.retailpostpressjo_id,tbl_retailpostpressjoborder.retailjobsub_id,tbl_retailpostpressjoborder.retailpostpresssub_id')
            ->from('tbl_retailjob')
            ->join('tbl_retailjoborder', 'tbl_retailjob.retailjobmaster_id=tbl_retailjoborder.retailjobmaster_id')
            ->join('tbl_retailpostpressjoborder', 'tbl_retailjob.retailjobmaster_id=tbl_retailpostpressjoborder.retailjobmaster_id')           
            ->where('tbl_retailjob.retailjobmaster_id=:id', array(':id' => 7))
            ->queryAll();
        return $user;
    }
}
试试这个:

public function getReatilProducts() {

    $condition=true;
    $user = Yii::app()->db->createCommand()
        ->select('tbl_retailjob.retailjobmaster_id, tbl_retailjob.joborderflag, tbl_retailjoborder.retailjob_id, tbl_retailjoborder.retailjobsub_id, tbl_retailjoborder.filename,tbl_retailpostpressjoborder.retailpostpressjo_id,tbl_retailpostpressjoborder.retailjobsub_id,tbl_retailpostpressjoborder.retailpostpresssub_id')
        ->from('tbl_retailjob')
        ->join('tbl_retailjoborder', 'tbl_retailjob.retailjobmaster_id=tbl_retailjoborder.retailjobmaster_id')
        ->join('tbl_retailpostpressjoborder', 'tbl_retailjob.retailjobmaster_id=tbl_retailpostpressjoborder.retailjobmaster_id')
    if ($condition !=true) {
        ->where('tbl_retailjob.retailjobmaster_id=:id', array(':id' => 7))
    }
    ->queryAll();
    return $user;   
}
}

是的,它工作得很好,但是我们需要在if条件下使用分号
public function getReatilProducts() {    
    $condition=true;
    $command = Yii::app()->db->createCommand()
        ->select('tbl_retailjob.retailjobmaster_id, tbl_retailjob.joborderflag, tbl_retailjoborder.retailjob_id, tbl_retailjoborder.retailjobsub_id, tbl_retailjoborder.filename,tbl_retailpostpressjoborder.retailpostpressjo_id,tbl_retailpostpressjoborder.retailjobsub_id,tbl_retailpostpressjoborder.retailpostpresssub_id')
        ->from('tbl_retailjob')
        ->join('tbl_retailjoborder', 'tbl_retailjob.retailjobmaster_id=tbl_retailjoborder.retailjobmaster_id')
        ->join('tbl_retailpostpressjoborder', 'tbl_retailjob.retailjobmaster_id=tbl_retailpostpressjoborder.retailjobmaster_id');
    if ($condition !=true) {
        $command->where('tbl_retailjob.retailjobmaster_id=:id', array(':id' => 7));
    }
    $user = $command->queryAll();
    return $user;   
}