public static function findModel($id) { if (($model = Model::find()->where(['menu_id' => $id])->one()) !== null) { return $model; } else { return (object) ['menu' => '{"left" : [{"label": "wrong id of menu"}], "right": []}']; } }
/** * Creates data provider instance with search query applied * @param array $params * @return ActiveDataProvider */ public function search($params) { $query = Model::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); if (!($this->load($params) && $this->validate())) { return $dataProvider; } $query->andFilterWhere(['menu_id' => $this->menuId]); $query->andFilterWhere(['like', 'menu', $this->menu]); return $dataProvider; }
public function actionUpdate($id) { $m = Model::findModel($id); $r = Yii::$app->request; if ($r->isAjax) { \Yii::$app->response->format = Response::FORMAT_JSON; switch (true) { case $r->post('get'): return ['success' => true, 'menu' => $m->menu]; case $r->post('update'): $m->menu = $r->post('menu'); return $m->save() ? ['success' => true] : ['success' => false]; default: return ['success' => false]; } } return $this->render('update'); }
public static function NavbarRight($id) { $m = Model::findModel($id); $m = Json::decode($m->menu); return $m['right']; }