1], [['limit'], 'default', 'value' => 20], [['status'], 'default', 'value' => null], ]; } public function getList() { $query = Signing::find()->alias('s') ->leftJoin(['u' => User::tableName()], 's.user_id=u.id') ->leftJoin(['g' => Goods::tableName()], 's.goods_id=g.id') ->leftJoin(['gh' => GoodsHub::tableName()], 'g.goods_hub_id=gh.id') ->select('u.username,gh.name as goods_name,s.*'); if ($this->status != null) { $query->where(['s.status' => $this->status]); } if ($this->order_no) { $query->where(['s.order_no' => $this->order_no]); } $pagination = new Pagination(['totalCount' => $query->count(), 'defaultPageSize' => $this->limit]); $list = $query->offset($pagination->offset)->orderBy(['s.create_time' => SORT_DESC])->asArray()->limit($pagination->limit)->all(); return [ 'code' => 0, 'msg' => 'ok', 'data' => $list, 'count' => $query->count() ]; } }