美文网首页
left join 关联查询 OR

left join 关联查询 OR

作者: 程序员的自我修养 | 来源:发表于2020-05-26 23:21 被阅读0次

    $sql = "select o.* from order_info AS o LEFT JOIN user as u ON u.id = o.user_id WHERE ((o.type_id IN (1,2)";

    $sql .= ' '.'AND o.pay_status = "'.PAY_STATUS_SUCCESS.'"';

    $sql .= ' '.'AND u.group_id = "'.USER_GROUP_PATIENT.'"'.')';

    $sql .= ' '.'OR (o.pay_status = "'.PAY_STATUS_SUCCESS.'"';

    $sql .= ' '.'AND o.type_id = 2';

    $sql .= ' '.'AND u.group_id = "'.USER_GROUP_DOCTOR.'"'.'))';

     if($order_sn){

         $sql .= ' '.'AND o.order_sn LIKE "'.'%'.$order_sn.'%'.'"';

    }

    if($order_status){

       $sql .= ' '.'AND o.order_status = "'.$order_status.'"';

    }else{

       $sql .= ' '.'AND o.order_status IN (3,4)';

    }

    $sql .= ' '.'ORDER BY o.created_at DESC';

    //select o.* from order_info AS o LEFT JOIN user as u ON u.id = o.user_id WHERE ((o.type_id IN (1,2) AND o.pay_status = "2" AND u.group_id = "1") OR (o.type_id = 2 AND o.pay_status = "2" AND u.group_id = "2")) AND o.order_sn LIKE '%2017041220680004%' AND o.order_status IN (3,4) ORDER BY o.created_at DESC

    $criteria=new CDbCriteria();

    $result = Yii::app()->db->createCommand($sql)->query();

    //echo $sql;die();

    $pager=new CPagination($result->rowCount);

    $pager->pageSize=20;

    $pager->applyLimit($criteria);

    $limit = $pager->pageSize;

    $offset = $pager->currentPage*$pager->pageSize;

    $sql .= ' '.'LIMIT '.$limit.' '.'OFFSET'.' '.$offset;

    $results=Yii::app()->db->createCommand($sql)->query();

    $this->render('list',array(

       'pager'=>$pager,

       'results'=>$results,

       'order_sn'=>$order_sn,

       'order_status'=>$order_status,

       'is_doctor_order'=>$is_doctor_order

    ));

    相关文章

      网友评论

          本文标题:left join 关联查询 OR

          本文链接:https://www.haomeiwen.com/subject/akluohtx.html