Blame view

frontend/controllers/SchoolsController.php 1.93 KB
c7f222e2   Artem   first
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
  <?php
  
  namespace frontend\controllers;
  
  use common\models\Fields;
  use common\models\Schools;
  use common\models\Spots;
  use common\models\Trainers;
  use Yii;
  use frontend\models\Sto;
  use yii\web\Controller;
  use yii\web\NotFoundHttpException;
  use yii\data\ArrayDataProvider;
  use yii\data\ActiveDataProvider;
  
  class SchoolsController extends Controller
  {
  
  
      public function actionIndex()
      {
          $dataProvider = new ActiveDataProvider([
              'query' => Schools::find(),
              'pagination' => [
                  'pageSize' => 10,
              ],
  
          ]);
  
  
          return $this->render('index', [
              'dataProvider' => $dataProvider,
          ]);
      }
  
      public function actionView($translit)
      {
  
          $model = $this->findModel($translit);
  
          $video = Fields::getData($model->id,'Schools','video');
          $phone = Fields::getData($model->id,'Schools','phone');
          $price = Fields::getData($model->id,'Schools','price');
          $trainers = $this->findTrainers($model->id);
          $spots_id = explode(',',$model->spots_id);
          $spots = Spots::findAll($spots_id);
  
          $dataSchools = new ArrayDataProvider([
              'allModels' => $spots,
  
          ]);
  
  
          return $this->render('view', [
              'model' => $model,
              'spots' => $dataSchools,
              'video' => $video,
              'phone' => $phone,
              'price' => $price,
              'trainers' => $trainers,
          ]);
      }
  
  
  
      protected function findModel($translit)
      {
          if (($model = Schools::findOne(["translit"=>$translit])) !== null) {
              return $model;
          } else {
              throw new NotFoundHttpException('The requested page does not exist.');
          }
      }
  
      protected function findTrainers($id)
      {
          if (($model = Trainers::find()->where(['school_id'=>$id])->all()) !== null) {
  
              return $model;
  
          } else {
              return [new Trainers()];
          }
      }
  }