Blame view

backend/models/Menu.php 2.95 KB
b0f143c3   Yarik   first commit
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
  <?php
  
  namespace backend\models;
  
  use Yii;
  
  /**
   * This is the model class for table "menu".
   *
   * @property integer $menu_id
   * @property integer $menu_pid
   * @property integer $level
   * @property integer $termin_id
   * @property integer $show
   * @property integer $is_open
   * @property integer $menu_location_id
   * @property integer $sortorder
   * @property string $name
   * @property string $url
   *
   * @property Termin $termin
   */
  class Menu extends \yii\db\ActiveRecord
  {
      /**
       * @inheritdoc
       */
      public static function tableName()
      {
          return 'menu';
      }
  
      /**
       * @inheritdoc
       */
      public function rules()
      {
          return [
              [['menu_id', 'menu_pid', 'level', 'termin_id', 'status', 'is_open', 'menu_location_id', 'sort'], 'required'],
              [['menu_id', 'menu_pid', 'level', 'termin_id', 'status', 'is_open', 'menu_location_id', 'sort'], 'integer'],
              [['name', 'url'], 'string', 'max' => 250]
          ];
      }
  
      /**
       * @inheritdoc
       */
      public function attributeLabels()
      {
          return [
              'menu_id' => Yii::t('app', 'Menu ID'),
              'menu_pid' => Yii::t('app', 'Menu Pid'),
              'level' => Yii::t('app', 'Level'),
              'termin_id' => Yii::t('app', 'Termin ID'),
              'status' => Yii::t('app', 'Show'),
              'is_open' => Yii::t('app', 'Is Open'),
              'menu_location_id' => Yii::t('app', 'Menu Location ID'),
              'sort' => Yii::t('app', 'Sortorder'),
              'name' => Yii::t('app', 'Name'),
              'url' => Yii::t('app', 'Url'),
          ];
      }
  
      /**
       * @return \yii\db\ActiveQuery
       */
      public function getTermin()
      {
          return $this->hasOne(Termin::className(), ['termin_id' => 'termin_id']);
      }
      
      public function getMenuList ($location_name)
      {
          return yii::$app->db->createCommand('
              SELECT
                  menu.menu_id, menu.menu_pid, menu.level,
                  termin_lang.termin_title, termin_lang.termin_alias
              FROM menu
                  INNER JOIN menu_location ON menu_location.menu_location_id = menu.menu_location_id
                      AND menu_location.menu_location_name = \''.$location_name.'\'
                  INNER JOIN termin ON termin.termin_id = menu.termin_id
                  INNER JOIN termin_lang ON termin_lang.termin_id = menu.termin_id
                      AND termin_lang.language_id = '.Yii::$app->params['language_id'].'
              ORDER BY menu.level ASC, menu.sort ASC
          ')->queryAll();
  /*
           return $this->find()
               ->selectOption('termin_lang.termin_title')
               ->from('menu')
               ->join(
                   'INNER JOIN',
                   'termin_lang.termin_id = menu.termin_id',
                   ['language_id' => yii::$app->params['language_id']])
              ->all();
   */
      }    
  
      public function getTerminLang()
      {
          return $this->hasOne(TerminLang::className(), ['termin_id' => 'termin_id']);
      }
  }