Blame view

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