/**
  * Метод удаления категории блога
  * Если удаление пройдет успешно, то браузер перенаправится на  старницу со списком категорий
  * @param integer $id уникальный идентификатор категории блога
  * @return mixed
  */
 public function actionDelete($id)
 {
     $model = $this->findModel($id);
     $model->is_active = (int) FALSE;
     $model->save();
     $articles = Articles::find()->byCategories($id)->all();
     foreach ($articles as $article) {
         $article->is_active = (int) FALSE;
         $article->save();
     }
     return $this->redirect(['index']);
 }
Esempio n. 2
0
 /**
  * Метод просмотра статьи блога
  * Если статья не будет найдена то будет вызвано 404 исключение
  * @param integer $id уникальный идентификатор статьи
  * @throws NotFoundHttpException если запись не будет найдена
  * @return mixed
  */
 public function actionView($id = FALSE)
 {
     if ($id == FALSE && isset($_GET) && array_key_exists('id', $_GET)) {
         $id = $GET['id'];
     } elseif ($id == FALSE && !isset($_GET)) {
         throw new \yii\web\HttpException(404, 'Страница не найдена', 404);
     }
     $article = Articles::find()->where(['id' => $id])->active()->one();
     if (!$article instanceof Articles) {
         throw new \yii\web\HttpException(404, 'Страница не найдена', 404);
     }
     return $this->render('view', ['article' => $article]);
 }
Esempio n. 3
0
 /**
  * Метод поиска статьи по уникальному идентификатору (первичному ключу)
  * Если статья не будет найдена то будет вызвано 404 исключение
  * @param integer $id уникальный идентификатор статьи блога
  * @return articles экземпляр класса Аrticles 
  * @throws NotFoundHttpException если запись не будет найдена
  */
 protected function findModel($id)
 {
     if (($model = Articles::findOne($id)) !== null) {
         return $model;
     } else {
         throw new NotFoundHttpException('The requested page does not exist.');
     }
 }
Esempio n. 4
0
 /**
  * Метод устанавливает связь один ко многим экземпляра класса с классом Articles
  */
 public function getArticles()
 {
     return $this->hasMany(Articles::className(), ['categories__id' => 'id'])->where(['is_active' => 1]);
 }