1], [['limit'], 'default', 'value' => 20], ]; } public function search() { $query = Box::find()->alias('b') ->leftJoin(['s' => Store::tableName()], 'b.store_id=s.id') ->select('b.*,s.name as store_name,s.begin_time,s.end_time') ->where([ 'b.is_delete' => 0 ]) ->andFilterWhere(['b.status' => $this->status]) ->andFilterWhere(['b.store_id' => $this->store_id]); $count = $query->count(); $pagination = new Pagination(['totalCount' => $count, 'pageSize' => $this->limit]); $list = $query->offset($pagination->offset)->limit($pagination->limit)->orderBy(['b.created_at' => SORT_DESC])->asArray()->all(); foreach ($list as $index => $item) { $item['business'] = $item['begin_time'] . '-' . $item['end_time']; $item['created_at_cn'] = date("Y-m-d H:i", $item['created_at']); $item['device'] = json_decode($item['device'], true); $list[$index] = $item; } $data = []; $data['code'] = 0; $data['msg'] = 'ok'; $data['data'] = $list; $data['count'] = $count; return $data; } }