Blame view

common/models/ArticleLang.php 4.43 KB
d55d2fe0   Yarik   Multilanguage
1
  <?php
d55d2fe0   Yarik   Multilanguage
2
      
5c2eb7c8   Yarik   Big commit almost...
3
4
5
6
7
      namespace common\models;
      
      use common\modules\language\models\Language;
      use Yii;
      use yii\db\ActiveRecord;
93c267f7   Yarik   Multilanguage big...
8
      
d55d2fe0   Yarik   Multilanguage
9
      /**
f202ab2b   Yarik   Article table ref...
10
11
       * This is the model class for table "article_lang".
       * @property integer  $article_id
5c2eb7c8   Yarik   Big commit almost...
12
13
14
15
16
17
18
19
20
21
       * @property integer  $language_id
       * @property string   $title
       * @property string   $body
       * @property string   $meta_title
       * @property string   $meta_keywords
       * @property string   $meta_description
       * @property string   $seo_text
       * @property string   $h1
       * @property string   $body_preview
       * @property string   $alias
f202ab2b   Yarik   Article table ref...
22
       * @property Article $article
5c2eb7c8   Yarik   Big commit almost...
23
       * @property Language $language
d55d2fe0   Yarik   Multilanguage
24
       */
f202ab2b   Yarik   Article table ref...
25
      class ArticleLang extends ActiveRecord
d55d2fe0   Yarik   Multilanguage
26
      {
5c2eb7c8   Yarik   Big commit almost...
27
28
29
30
          
          public static function primaryKey()
          {
              return [
f202ab2b   Yarik   Article table ref...
31
                  'article_id',
5c2eb7c8   Yarik   Big commit almost...
32
33
34
35
36
37
38
39
40
                  'language_id',
              ];
          }
          
          /**
           * @inheritdoc
           */
          public static function tableName()
          {
f202ab2b   Yarik   Article table ref...
41
              return 'article_lang';
5c2eb7c8   Yarik   Big commit almost...
42
43
44
45
46
47
48
          }
          
          public function behaviors()
          {
              return [
                  'slug' => [
                      'class'         => 'common\behaviors\Slug',
5c2eb7c8   Yarik   Big commit almost...
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
                  ],
              ];
          }
          
          /**
           * @inheritdoc
           */
          public function rules()
          {
              return [
                  [
                      [
                          'title',
                          'body',
                      ],
                      'required',
                  ],
                  [
                      [
                          'body',
                          'seo_text',
                          'body_preview',
                          'alias',
                      ],
                      'string',
                  ],
                  [
                      [
                          'title',
                          'meta_title',
                          'meta_keywords',
                          'meta_description',
                          'h1',
                      ],
                      'string',
                      'max' => 255,
                  ],
                  [
                      [
f202ab2b   Yarik   Article table ref...
88
                          'article_id',
5c2eb7c8   Yarik   Big commit almost...
89
90
91
92
                          'language_id',
                      ],
                      'unique',
                      'targetAttribute' => [
f202ab2b   Yarik   Article table ref...
93
                          'article_id',
5c2eb7c8   Yarik   Big commit almost...
94
95
                          'language_id',
                      ],
f202ab2b   Yarik   Article table ref...
96
                      'message'         => 'The combination of Article ID and Language ID has already been taken.',
5c2eb7c8   Yarik   Big commit almost...
97
98
                  ],
                  [
f202ab2b   Yarik   Article table ref...
99
                      [ 'article_id' ],
5c2eb7c8   Yarik   Big commit almost...
100
101
                      'exist',
                      'skipOnError'     => true,
f202ab2b   Yarik   Article table ref...
102
103
                      'targetClass'     => Article::className(),
                      'targetAttribute' => [ 'article_id' => 'id' ],
5c2eb7c8   Yarik   Big commit almost...
104
105
106
107
108
109
                  ],
                  [
                      [ 'language_id' ],
                      'exist',
                      'skipOnError'     => true,
                      'targetClass'     => Language::className(),
8af13427   Yarik   For leha commit.
110
                      'targetAttribute' => [ 'language_id' => 'id' ],
5c2eb7c8   Yarik   Big commit almost...
111
112
113
114
115
116
117
118
119
120
                  ],
              ];
          }
          
          /**
           * @inheritdoc
           */
          public function attributeLabels()
          {
              return [
f202ab2b   Yarik   Article table ref...
121
                  'article_id'      => Yii::t('app', 'lang-Article ID'),
5c2eb7c8   Yarik   Big commit almost...
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
                  'language_id'      => Yii::t('app', 'lang-Language ID'),
                  'title'            => Yii::t('app', 'lang-Title'),
                  'body'             => Yii::t('app', 'lang-Body'),
                  'meta_title'       => Yii::t('app', 'lang-Meta Title'),
                  'meta_keywords'    => Yii::t('app', 'lang-Meta Keywords'),
                  'meta_description' => Yii::t('app', 'lang-Meta Description'),
                  'seo_text'         => Yii::t('app', 'lang-Seo Text'),
                  'h1'               => Yii::t('app', 'lang-H1'),
                  'body_preview'     => Yii::t('app', 'lang-Body Preview'),
              ];
          }
          
          /**
           * @return \yii\db\ActiveQuery
           */
f202ab2b   Yarik   Article table ref...
137
          public function getArticle()
5c2eb7c8   Yarik   Big commit almost...
138
          {
f202ab2b   Yarik   Article table ref...
139
              return $this->hasOne(Article::className(), [ 'id' => 'article_id' ])
5c2eb7c8   Yarik   Big commit almost...
140
141
142
143
144
145
146
147
                          ->inverseOf('langs');
          }
          
          /**
           * @return \yii\db\ActiveQuery
           */
          public function getLanguage()
          {
8af13427   Yarik   For leha commit.
148
              return $this->hasOne(Language::className(), [ 'id' => 'language_id' ]);
5c2eb7c8   Yarik   Big commit almost...
149
          }
d55d2fe0   Yarik   Multilanguage
150
      }