public function api_items($slug) { $menu = MenuItem::find()->where(['route_string' => $slug])->one(); if (!$menu) { $menuItem = new MenuItem(['name' => Inflector::humanize($slug), 'url' => $slug]); $menuItem->makeRoot(); } return $this->formatItem($menu ? $menu->children : []); }
public function getModel($id) { if ($item = MenuItem::findOne($id)) { return $item; } throw new NotFoundHttpException(); }
/** * Finds the MenuItem model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return MenuItem the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = MenuItem::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }
public function getMenuItems() { return $this->hasMany(MenuItem::className(), ['menu_id' => 'id']); }