Blame view

common/models/Menu.php 2.49 KB
b507d689   andryeyev   Итерация 1 (Терми...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
  <?php
  
  namespace common\models;
  
  use Yii;
  
  /**
   * This is the model class for table "menu".
   *
   * @property integer $menu_id
   * @property integer $menu_pid
   * @property integer $menu_lft
   * @property integer $menu_rgt
   * @property integer $termin_id
   * @property integer $show
   * @property integer $sortorder
   */
  class Menu extends \yii\db\ActiveRecord
  {
19423060   andryeyev   + 1-уровневое мен...
20
      
bb7d15c5   andryeyev   Итерация 3 (Templ...
21
22
      public function getMenuList ($location_name)
      {  
19423060   andryeyev   + 1-уровневое мен...
23
24
          return yii::$app->db->createCommand('
              SELECT 
bb7d15c5   andryeyev   Итерация 3 (Templ...
25
26
27
                  `menu`.menu_id, `menu`.menu_pid, `menu`.level,
                  `page_lang`.page_title, 
                  `page_lang`.page_alias
19423060   andryeyev   + 1-уровневое мен...
28
              FROM `menu`
bb7d15c5   andryeyev   Итерация 3 (Templ...
29
30
31
32
33
34
35
                  INNER JOIN `menu_location` ON `menu_location`.menu_location_id = `menu`.menu_location_id
                      AND `menu_location`.menu_location_name = "'.$location_name.'" 
                  INNER JOIN `page` ON `page`.page_id = `menu`.page_id
                      AND `page`.show = 1
                  INNER JOIN `page_lang` ON `page_lang`.page_id = `page`.page_id
                      AND `page_lang`.lang_id = '.yii::$app->lang_id.'  
              WHERE `menu`.show = 1
19423060   andryeyev   + 1-уровневое мен...
36
37
38
39
40
41
42
43
44
45
46
47
48
49
              ORDER BY `menu`.menu_pid ASC, `menu`.sortorder ASC
          ')->queryAll();
  /*
          return $this->find()
              ->selectOption('`termin_lang`.termin_title')
              ->from('menu')
              ->join(
                  'INNER JOIN', 
                  '`termin_lang`.termin_id = `menu`.termin_id', 
                  ['lang_id' => yii::$app->lang_id])
              ->all();
  */
      }
  
b507d689   andryeyev   Итерация 1 (Терми...
50
51
52
53
54
55
56
57
58
59
60
61
62
63
      /**
       * @inheritdoc
       */
      public static function tableName()
      {
          return 'menu';
      }
  
      /**
       * @inheritdoc
       */
      public function rules()
      {
          return [
7765bf97   Dmitryi   menu no perevod
64
              [['menu_pid', 'menu_lft', 'menu_rgt', 'termin_id', 'show', 'sortorder'], 'safe'],
b507d689   andryeyev   Итерация 1 (Терми...
65
66
67
68
69
70
71
72
73
74
              [['menu_pid', 'menu_lft', 'menu_rgt', 'termin_id', 'show', 'sortorder'], 'integer']
          ];
      }
  
      /**
       * @inheritdoc
       */
      public function attributeLabels()
      {
          return [
7765bf97   Dmitryi   menu no perevod
75
76
77
78
79
80
81
              'menu_id' => Yii::t('app', 'Menu ID'),
              'menu_pid' => Yii::t('app', 'Menu Pid'),
              'menu_lft' => Yii::t('app', 'Menu Lft'),
              'menu_rgt' => Yii::t('app', 'Menu Rgt'),
              'termin_id' => Yii::t('app', 'Termin ID'),
              'show' => Yii::t('app', 'Show'),
              'sortorder' => Yii::t('app', 'Sortorder'),
b507d689   andryeyev   Итерация 1 (Терми...
82
83
          ];
      }
6be43b62   andryeyev   MenuSearch fix
84
85
86
87
88
  
      public function getTermin_lang()
      {
          return $this->hasMany(Menu::className(), ['termin_id' => 'termin_id']);
      }  
b507d689   andryeyev   Итерация 1 (Терми...
89
  }