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
|
}
|