593851ec
Alexey Boroda
First commit
|
1
2
|
<?php
|
65dd0219
Alexey Boroda
-Bar tabs
|
3
|
namespace artbox\weblog\models;
|
3b1725bf
Alexey Boroda
-Bug with fill re...
|
4
|
|
59c7b652
Alexey Boroda
-behaviour added ...
|
5
|
use artbox\core\behaviors\ManyToManyBehavior;
|
ee588281
Alexey Boroda
-Blog backend ready
|
6
|
use artbox\core\models\Image;
|
593851ec
Alexey Boroda
First commit
|
7
8
|
use yii\behaviors\TimestampBehavior;
use yii\db\ActiveRecord;
|
65dd0219
Alexey Boroda
-Bar tabs
|
9
10
|
use artbox\core\behaviors\LanguageBehavior;
use artbox\core\models\Language;
|
593851ec
Alexey Boroda
First commit
|
11
|
use yii\db\ActiveQuery;
|
adcaa25d
Yarik
Article to produc...
|
12
|
use yii\db\Query;
|
593851ec
Alexey Boroda
First commit
|
13
|
use yii\web\Request;
|
3b1725bf
Alexey Boroda
-Bug with fill re...
|
14
|
|
593851ec
Alexey Boroda
First commit
|
15
16
|
/**
* This is the model class for table "blog_article".
|
2caa1ca3
Yarik
Artbox great prep...
|
17
|
*
|
d7bd5725
Yarik
Blog article to p...
|
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
* @property integer $id
* @property Image $image
* @property integer $created_at
* @property integer $updated_at
* @property integer $deleted_at
* @property integer $sort
* @property boolean $status
* @property integer $author_id
* @property integer $image_id
* @property ArticleLang[] $blogArticleLangs
* @property Language[] $languages
* @property Article[] $relatedBlogArticles
* @property Article[] $articles
* @property Category[] $categories
* @property Category $category
* @property Tag[] $tags
* @property \artbox\catalog\models\Product[] $relatedProducts
|
593851ec
Alexey Boroda
First commit
|
35
|
* * * From language behavior *
|
d7bd5725
Yarik
Blog article to p...
|
36
37
38
39
40
41
42
|
* @property ArticleLang $lang
* @property ArticleLang[] $langs
* @property ArticleLang $objectLang
* @property string $ownerKey
* @property string $langKey
* @property ArticleLang[] $modelLangs
* @property bool $transactionStatus
|
593851ec
Alexey Boroda
First commit
|
43
44
45
46
47
48
|
* @method string getOwnerKey()
* @method void setOwnerKey( string $value )
* @method string getLangKey()
* @method void setLangKey( string $value )
* @method ActiveQuery getLangs()
* @method ActiveQuery getLang( integer $language_id )
|
3b1725bf
Alexey Boroda
-Bug with fill re...
|
49
|
* @method ArticleLang[] generateLangs()
|
593851ec
Alexey Boroda
First commit
|
50
51
52
53
|
* @method void loadLangs( Request $request )
* @method bool linkLangs()
* @method bool saveLangs()
* @method bool getTransactionStatus()
|
ee588281
Alexey Boroda
-Blog backend ready
|
54
55
|
* @method bool loadWithLangs( Request $request )
* @method bool saveWithLangs()
|
593851ec
Alexey Boroda
First commit
|
56
|
* * End language behavior *
|
ee588281
Alexey Boroda
-Blog backend ready
|
57
|
* @method void linkMany( string $link, array $models )
|
593851ec
Alexey Boroda
First commit
|
58
|
*/
|
3b1725bf
Alexey Boroda
-Bug with fill re...
|
59
|
class Article extends ActiveRecord
|
593851ec
Alexey Boroda
First commit
|
60
|
{
|
ee588281
Alexey Boroda
-Blog backend ready
|
61
62
63
64
65
66
|
public $categoryIds = [];
public $tagIds = [];
public $articleIds = [];
|
d7bd5725
Yarik
Blog article to p...
|
67
68
|
public $productIds = [];
|
593851ec
Alexey Boroda
First commit
|
69
70
71
72
73
74
75
|
/**
* @inheritdoc
*/
public static function tableName()
{
return 'blog_article';
}
|
3b1725bf
Alexey Boroda
-Bug with fill re...
|
76
|
|
593851ec
Alexey Boroda
First commit
|
77
78
79
80
81
82
|
public function behaviors()
{
return [
[
'class' => TimestampBehavior::className(),
],
|
593851ec
Alexey Boroda
First commit
|
83
84
85
|
'language' => [
'class' => LanguageBehavior::className(),
],
|
ee588281
Alexey Boroda
-Blog backend ready
|
86
87
88
|
[
'class' => ManyToManyBehavior::className(),
],
|
593851ec
Alexey Boroda
First commit
|
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
];
}
/**
* @inheritdoc
*/
public function rules()
{
return [
[
[
'created_at',
'updated_at',
'deleted_at',
'sort',
'author_id',
|
ba196ec2
Alexey Boroda
-Blog in process
|
104
|
'image_id',
|
593851ec
Alexey Boroda
First commit
|
105
106
107
108
109
110
111
|
],
'integer',
],
[
[ 'status' ],
'boolean',
],
|
593851ec
Alexey Boroda
First commit
|
112
113
|
];
}
|
3b1725bf
Alexey Boroda
-Bug with fill re...
|
114
|
|
593851ec
Alexey Boroda
First commit
|
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
/**
* @inheritdoc
*/
public function attributeLabels()
{
return [
'id' => 'ID',
'image' => 'Image',
'created_at' => 'Created At',
'updated_at' => 'Updated At',
'deleted_at' => 'Deleted At',
'sort' => 'Sort',
'status' => 'Status',
'author_id' => 'Author ID',
];
}
|
3b1725bf
Alexey Boroda
-Bug with fill re...
|
131
|
|
593851ec
Alexey Boroda
First commit
|
132
133
134
135
136
|
/**
* @return \yii\db\ActiveQuery
*/
public function getRelatedBlogArticles()
{
|
3b1725bf
Alexey Boroda
-Bug with fill re...
|
137
|
return $this->hasMany(Article::className(), [ 'id' => 'related_blog_article_id' ])
|
593851ec
Alexey Boroda
First commit
|
138
139
|
->viaTable('blog_article_to_article', [ 'blog_article_id' => 'id' ]);
}
|
3b1725bf
Alexey Boroda
-Bug with fill re...
|
140
|
|
593851ec
Alexey Boroda
First commit
|
141
|
/**
|
adcaa25d
Yarik
Article to produc...
|
142
143
144
145
146
|
* @return Query
*/
public function getRelatedProducts()
{
if (class_exists('\artbox\catalog\models\Product')) {
|
d7bd5725
Yarik
Blog article to p...
|
147
|
return $this->hasMany('\artbox\catalog\models\Product', [ 'id' => 'product_id' ])
|
adcaa25d
Yarik
Article to produc...
|
148
149
150
151
152
153
154
155
156
157
158
159
|
->via('articleToProduct');
} else {
return ( new Query() )->where('1 = 0');
}
}
/**
* @return Query
*/
public function getArticleToProduct()
{
if (class_exists('\artbox\catalog\models\Product')) {
|
d7bd5725
Yarik
Blog article to p...
|
160
|
return $this->hasMany(ArticleToProduct::className(), [ 'article_id' => 'id' ]);
|
adcaa25d
Yarik
Article to produc...
|
161
162
163
164
165
166
|
} else {
return ( new Query() )->where('1 = 0');
}
}
/**
|
593851ec
Alexey Boroda
First commit
|
167
168
|
* @return \yii\db\ActiveQuery
*/
|
ee588281
Alexey Boroda
-Blog backend ready
|
169
170
171
172
173
174
175
176
|
public function getImage()
{
return $this->hasOne(Image::className(), [ 'id' => 'image_id' ]);
}
/**
* @return \yii\db\ActiveQuery
*/
|
3b1725bf
Alexey Boroda
-Bug with fill re...
|
177
|
public function getArticles()
|
593851ec
Alexey Boroda
First commit
|
178
|
{
|
3b1725bf
Alexey Boroda
-Bug with fill re...
|
179
|
return $this->hasMany(Article::className(), [ 'id' => 'blog_article_id' ])
|
593851ec
Alexey Boroda
First commit
|
180
181
|
->viaTable('blog_article_to_article', [ 'related_blog_article_id' => 'id' ]);
}
|
3b1725bf
Alexey Boroda
-Bug with fill re...
|
182
|
|
593851ec
Alexey Boroda
First commit
|
183
184
185
|
/**
* @return \yii\db\ActiveQuery
*/
|
ee588281
Alexey Boroda
-Blog backend ready
|
186
|
public function getCategories()
|
593851ec
Alexey Boroda
First commit
|
187
|
{
|
ee588281
Alexey Boroda
-Blog backend ready
|
188
|
return $this->hasMany(Category::className(), [ 'id' => 'blog_category_id' ])
|
593851ec
Alexey Boroda
First commit
|
189
190
|
->viaTable('blog_article_to_category', [ 'blog_article_id' => 'id' ]);
}
|
3b1725bf
Alexey Boroda
-Bug with fill re...
|
191
|
|
593851ec
Alexey Boroda
First commit
|
192
193
194
|
/**
* @return \yii\db\ActiveQuery
*/
|
ee588281
Alexey Boroda
-Blog backend ready
|
195
|
public function getCategory()
|
593851ec
Alexey Boroda
First commit
|
196
|
{
|
ee588281
Alexey Boroda
-Blog backend ready
|
197
198
|
return $this->hasOne(Category::className(), [ 'id' => 'blog_category_id' ])
->viaTable('blog_article_to_category', [ 'blog_article_id' => 'id' ]);
|
593851ec
Alexey Boroda
First commit
|
199
|
}
|
3b1725bf
Alexey Boroda
-Bug with fill re...
|
200
|
|
593851ec
Alexey Boroda
First commit
|
201
202
203
|
/**
* @return \yii\db\ActiveQuery
*/
|
ee588281
Alexey Boroda
-Blog backend ready
|
204
|
public function getTags()
|
593851ec
Alexey Boroda
First commit
|
205
|
{
|
ee588281
Alexey Boroda
-Blog backend ready
|
206
207
|
return $this->hasMany(Tag::className(), [ 'id' => 'blog_tag_id' ])
->viaTable('blog_article_to_tag', [ 'blog_article_id' => 'id' ]);
|
593851ec
Alexey Boroda
First commit
|
208
209
|
}
}
|