$model->count(), 'pageSize' => $limit]); $model->limit($pagination->limit)->offset($pagination->offset); $list = $model->asArray()->orderBy($order_by)->all(); $data['list'] = $list; $data['page_count'] = $pagination->pageCount; $data['current_page'] = $page + 1; return $data; } /** * @param array $data * @return array */ public function jsonEncode(array $data) { $json_keys = $this->json_keys ?? []; foreach ($json_keys as $key) { // !empty($data[$key]) && ($data[$key] = Json::encode($data[$key])); // 默认 $data[$key] = !empty($data[$key]) ? $data[$key] : []; $data[$key] = Json::encode($data[$key]); } return $data; } /** * @return static */ public function jsonDecode() { $json_keys = $this->json_keys ?? []; foreach ($json_keys as $key) { !empty($this->$key) && ($this->$key = Json::decode($this->$key)); } return $this; } /** * @param boolean $runValidation * @param array $attributeNames * @return true|static */ public function save($runValidation = true, $attributeNames = null) { $res = parent::save($runValidation = true, $attributeNames = null); return $res === true ? true : $this; } }