Blame view

common/models/BannerLang.php 3.72 KB
d55d2fe0   Yarik   Multilanguage
1
  <?php
d55d2fe0   Yarik   Multilanguage
2
      
5c2eb7c8   Yarik   Big commit almost...
3
4
5
6
7
8
      namespace common\models;
      
      use common\behaviors\SaveImgBehavior;
      use common\modules\language\models\Language;
      use Yii;
      use yii\db\ActiveRecord;
d55d2fe0   Yarik   Multilanguage
9
10
      
      /**
5c2eb7c8   Yarik   Big commit almost...
11
12
13
14
15
16
17
18
19
20
21
22
23
24
       * This is the model class for table "banner_lang".
       * @property integer     $banner_id
       * @property integer     $language_id
       * @property string      $alt
       * @property string      $title
       * @property string      $image
       * @property Banner      $banner
       * @property Language    $language
       * * From SaveImgBehavior
       * @property string|null $imageFile
       * @property string|null $imageUrl
       * @method string|null getImageFile( int $field )
       * @method string|null getImageUrl( int $field )
       * * End SaveImgBehavior
d55d2fe0   Yarik   Multilanguage
25
       */
5c2eb7c8   Yarik   Big commit almost...
26
      class BannerLang extends ActiveRecord
d55d2fe0   Yarik   Multilanguage
27
      {
5c2eb7c8   Yarik   Big commit almost...
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
          
          public static function primaryKey()
          {
              return [
                  'banner_id',
                  'language_id',
              ];
          }
          
          /**
           * @inheritdoc
           */
          public static function tableName()
          {
              return 'banner_lang';
          }
          
          public function behaviors()
          {
              return [
                  [
                      'class'       => SaveImgBehavior::className(),
8af13427   Yarik   For leha commit.
50
                      'isLanguage' => true,
5c2eb7c8   Yarik   Big commit almost...
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
                      'fields'      => [
                          [
                              'name'      => 'image',
                              'directory' => 'banner',
                          ],
                      ],
                  ],
              ];
          }
          
          /**
           * @inheritdoc
           */
          public function rules()
          {
              return [
                  [
d55d2fe0   Yarik   Multilanguage
68
                      [
5c2eb7c8   Yarik   Big commit almost...
69
70
71
                          'alt',
                          'title',
                          'image',
d55d2fe0   Yarik   Multilanguage
72
                      ],
5c2eb7c8   Yarik   Big commit almost...
73
74
                      'string',
                      'max' => 255,
d55d2fe0   Yarik   Multilanguage
75
                  ],
5c2eb7c8   Yarik   Big commit almost...
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
                  [
                      [
                          'banner_id',
                          'language_id',
                      ],
                      'unique',
                      'targetAttribute' => [
                          'banner_id',
                          'language_id',
                      ],
                      'message'         => 'The combination of Banner ID and Language ID has already been taken.',
                  ],
                  [
                      [ 'banner_id' ],
                      'exist',
                      'skipOnError'     => true,
                      'targetClass'     => Banner::className(),
8af13427   Yarik   For leha commit.
93
                      'targetAttribute' => [ 'banner_id' => 'id' ],
5c2eb7c8   Yarik   Big commit almost...
94
95
96
97
98
99
                  ],
                  [
                      [ 'language_id' ],
                      'exist',
                      'skipOnError'     => true,
                      'targetClass'     => Language::className(),
8af13427   Yarik   For leha commit.
100
                      'targetAttribute' => [ 'language_id' => 'id' ],
5c2eb7c8   Yarik   Big commit almost...
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
                  ],
              ];
          }
          
          /**
           * @inheritdoc
           */
          public function attributeLabels()
          {
              return [
                  'banner_id'   => Yii::t('app', 'banner_id'),
                  'language_id' => Yii::t('app', 'language_id'),
                  'alt'         => Yii::t('app', 'alt'),
                  'title'       => Yii::t('app', 'title'),
              ];
          }
          
          /**
           * @return \yii\db\ActiveQuery
           */
          public function getBanner()
          {
8af13427   Yarik   For leha commit.
123
              return $this->hasOne(Banner::className(), [ 'id' => 'banner_id' ]);
5c2eb7c8   Yarik   Big commit almost...
124
125
126
127
128
129
130
          }
          
          /**
           * @return \yii\db\ActiveQuery
           */
          public function getLanguage()
          {
8af13427   Yarik   For leha commit.
131
              return $this->hasOne(Language::className(), [ 'id' => 'language_id' ]);
5c2eb7c8   Yarik   Big commit almost...
132
          }
d55d2fe0   Yarik   Multilanguage
133
      }