worker_id; $score = $this->score; $name = $this->name; $orderby = $this->orderby; $begin = $this->begin; $end = $this->end; $queryOrder = WorkerOrderExt::find()->where(['worker_id' => $worker_id])->select('order_id'); $query = OrderComment::find()->alias('oc')->leftJoin([ 'woe' => WorkerOrderExt::tableName() ], 'oc.order_id = woe.order_id')->leftJoin([ 'od' => OrderDetail::tableName() ], 'oc.order_id = od.order_id')->leftJoin([ 'u' => User::tableName() ], 'oc.user_id = u.id')->leftJoin([ 'su' => SaasUser::tableName() ], 'su.mobile = u.binding')->where([ 'oc.order_id' => $queryOrder, 'oc.is_hide' => 0, 'oc.is_delete' => OrderComment::IS_DELETE_FALSE, ])->groupBy('oc.id'); if($name){ $query->andWhere(['like', 'od.goods_name', $name]); } if($score > 0){ if($score == 3){ $query->andWhere(['>=', 'oc.score', $score]); }else{ $query->andWhere(['oc.score' => $score]); } } if($begin){ $query->andWhere(['>=', 'oc.created_at', $begin]); } if($end){ $query->andWhere(['<=', 'oc.created_at', $end]); } $queryOrderBy = 'oc.id DESC'; if($orderby == 1){ $queryOrderBy = 'oc.id DESC'; }else if($orderby == 2){ $queryOrderBy = 'oc.id ASC'; } $query->orderBy($queryOrderBy); $query->select('oc.*, od.goods_name, su.name su_name, su.avatar su_avatar'); $data = pagination_make($query); foreach($data['list'] as &$item){ $item['pic_list'] = json_decode($item['pic_list']); if (intval($item['is_virtual'])) { $item['su_name'] = $item['virtual_user']; $item['su_avatar'] = $item['virtual_avatar']; } } $res = [ 'code' => 0, 'msg' => 'success', 'data' => $data, ]; return $res; } }