request->get('page', 1); $platform_id = Yii::$app->request->getPlatformId(); if (Yii::$app->request->isPost) { $model = new ExploreAppCategory(); $model->setScenario(ExploreAppCategory::SCENARIOS_CREATE); $params = Yii::$app->request->post(); $params['platform_id'] = $platform_id; $lang = [ 'zh-CN', 'en-US', 'ja' ]; $name_arr = $params['name']; $name = []; foreach ($name_arr as $key => $val) { $name[$lang[$key]] = $val; } unset($params['name']); $params['name'] = $name; if ($model->load($params, '') && $model->save()) { goto doEnd; } $msg = $model->errors; $code = -1; goto doEnd; } if (Yii::$app->request->isGet) { $query = ExploreAppCategory::find()->where(['platform_id' => $platform_id])->asArray(); $app_category_model = $query->offset(($page - 1) * 10)->limit(10)->asArray()->all(); foreach ($app_category_model as &$val) { $name = json_decode($val['name'], true); $val['name'] = $name['zh-CN']; unset($val['platform_id']); } $countQuery = clone $query; $pages = new Pagination(['totalCount' => $countQuery->count(), 'pageSize' => '10']); $data = [ 'list' => $app_category_model, 'page' => [ 'pageCount' => $pages->pageCount, 'pageSize' => 10, 'currentPage' => $page, ] ]; } doEnd : return ['code' => $code, 'msg' => $msg, 'data' => $data]; } public function actionApps() { $msg = 'ok'; $code = 0; $platform_id = Yii::$app->request->getPlatformId();; $category_id = Yii::$app->request->get('id', 0); $page = Yii::$app->request->get('page', 1); if (false == $platform_id || false == $category_id) { $msg = '参数错误'; $code = -1; $data = null; goto doEnd; } $query = ExploreApp::find() ->select('id, name, icon, sort, status, created_at') ->where(['app_category_id' => $category_id]) ->andWhere(['platform_id' => $platform_id]) ->asArray(); $app_model = $query->offset(($page - 1) * 10)->limit(10)->asArray()->all(); foreach ($app_model as &$val) { $name = json_decode($val['name'], true); $val['name'] = $name['zh-CN']; } $countQuery = clone $query; $pages = new Pagination(['totalCount' => $countQuery->count(), 'pageSize' => '10']); $data = [ 'list' => $app_model, 'page' => [ 'pageCount' => $pages->pageCount, 'pageSize' => 10, 'currentPage' => $page, ] ]; doEnd : return ['code' => $code, 'msg' => $msg, 'data' => $data]; } }