Commit 083b028f96b76acaeb60cca20785055c2085d2d6

Authored by Anastasia
1 parent 7150a05d

blog categories

Showing 1 changed file with 23 additions and 6 deletions   Show diff stats
frontend/controllers/BlogController.php
@@ -6,6 +6,7 @@ @@ -6,6 +6,7 @@
6 use common\models\blog\Category; 6 use common\models\blog\Category;
7 use common\models\blog\Tag; 7 use common\models\blog\Tag;
8 use yii\data\ActiveDataProvider; 8 use yii\data\ActiveDataProvider;
  9 + use yii\db\ActiveQuery;
9 use yii\web\Controller; 10 use yii\web\Controller;
10 use yii\web\NotFoundHttpException; 11 use yii\web\NotFoundHttpException;
11 12
@@ -47,7 +48,9 @@ @@ -47,7 +48,9 @@
47 ) 48 )
48 ->with( 49 ->with(
49 [ 50 [
50 - 'categories.language', 51 + 'categories' => function (ActiveQuery $query){
  52 + $query->with('language')->where(['status' => true]);
  53 + },
51 ] 54 ]
52 55
53 ) 56 )
@@ -123,7 +126,9 @@ @@ -123,7 +126,9 @@
123 ->where(['status' => true]) 126 ->where(['status' => true])
124 ->orderBy([ 'sort' => SORT_ASC ]) 127 ->orderBy([ 'sort' => SORT_ASC ])
125 ->one(); 128 ->one();
126 - 129 + if (empty($model)){
  130 + throw new NotFoundHttpException();
  131 + }
127 $dataProvider = new ActiveDataProvider( 132 $dataProvider = new ActiveDataProvider(
128 [ 133 [
129 'query' => $model->getArticles() 134 'query' => $model->getArticles()
@@ -188,9 +193,15 @@ @@ -188,9 +193,15 @@
188 ->with( 193 ->with(
189 [ 194 [
190 'language', 195 'language',
191 - 'categories.language',  
192 ] 196 ]
193 - ) 197 + )->with(
  198 + [
  199 + 'categories' => function (ActiveQuery $query){
  200 + $query->with('language')->where(['status' => true]);
  201 + },
  202 + ]
  203 +
  204 + )
194 ->where(['blog_article.status' => true]) 205 ->where(['blog_article.status' => true])
195 ->orderBy( 206 ->orderBy(
196 [ 207 [
@@ -229,10 +240,16 @@ @@ -229,10 +240,16 @@
229 ->with( 240 ->with(
230 [ 241 [
231 'language', 242 'language',
232 - 'categories.language',  
233 'tags.language', 243 'tags.language',
234 ] 244 ]
235 - ) 245 + )->with(
  246 + [
  247 + 'categories' => function (ActiveQuery $query){
  248 + $query->with('language')->where(['status' => true]);
  249 + },
  250 + ]
  251 +
  252 + )
236 ->andWhere([ 'status' => true ]) 253 ->andWhere([ 'status' => true ])
237 ->one(); 254 ->one();
238 255