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;
|
3b1725bf
Alexey Boroda
-Bug with fill re...
|
6
|
use artbox\catalog\models\Product;
|
ee588281
Alexey Boroda
-Blog backend ready
|
7
|
use artbox\core\models\Image;
|
593851ec
Alexey Boroda
First commit
|
8
9
|
use yii\behaviors\TimestampBehavior;
use yii\db\ActiveRecord;
|
65dd0219
Alexey Boroda
-Bar tabs
|
10
11
|
use artbox\core\behaviors\LanguageBehavior;
use artbox\core\models\Language;
|
593851ec
Alexey Boroda
First commit
|
12
13
|
use yii\db\ActiveQuery;
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
18
|
*
* @property integer $id
|
ee588281
Alexey Boroda
-Blog backend ready
|
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
* @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 Product[] $products
* @property Tag[] $tags
|
593851ec
Alexey Boroda
First commit
|
35
|
* * * From language behavior *
|
ee588281
Alexey Boroda
-Blog backend ready
|
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 = [];
|
593851ec
Alexey Boroda
First commit
|
67
68
69
70
71
72
73
|
/**
* @inheritdoc
*/
public static function tableName()
{
return 'blog_article';
}
|
3b1725bf
Alexey Boroda
-Bug with fill re...
|
74
|
|
593851ec
Alexey Boroda
First commit
|
75
76
77
78
79
80
|
public function behaviors()
{
return [
[
'class' => TimestampBehavior::className(),
],
|
593851ec
Alexey Boroda
First commit
|
81
82
83
|
'language' => [
'class' => LanguageBehavior::className(),
],
|
ee588281
Alexey Boroda
-Blog backend ready
|
84
85
86
|
[
'class' => ManyToManyBehavior::className(),
],
|
593851ec
Alexey Boroda
First commit
|
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
];
}
/**
* @inheritdoc
*/
public function rules()
{
return [
[
[
'created_at',
'updated_at',
'deleted_at',
'sort',
'author_id',
|
ba196ec2
Alexey Boroda
-Blog in process
|
102
|
'image_id',
|
593851ec
Alexey Boroda
First commit
|
103
104
105
106
107
108
109
|
],
'integer',
],
[
[ 'status' ],
'boolean',
],
|
593851ec
Alexey Boroda
First commit
|
110
111
|
];
}
|
3b1725bf
Alexey Boroda
-Bug with fill re...
|
112
|
|
593851ec
Alexey Boroda
First commit
|
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
/**
* @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...
|
129
|
|
593851ec
Alexey Boroda
First commit
|
130
131
132
133
134
|
/**
* @return \yii\db\ActiveQuery
*/
public function getRelatedBlogArticles()
{
|
3b1725bf
Alexey Boroda
-Bug with fill re...
|
135
|
return $this->hasMany(Article::className(), [ 'id' => 'related_blog_article_id' ])
|
593851ec
Alexey Boroda
First commit
|
136
137
|
->viaTable('blog_article_to_article', [ 'blog_article_id' => 'id' ]);
}
|
3b1725bf
Alexey Boroda
-Bug with fill re...
|
138
|
|
593851ec
Alexey Boroda
First commit
|
139
140
141
|
/**
* @return \yii\db\ActiveQuery
*/
|
ee588281
Alexey Boroda
-Blog backend ready
|
142
143
144
145
146
147
148
149
|
public function getImage()
{
return $this->hasOne(Image::className(), [ 'id' => 'image_id' ]);
}
/**
* @return \yii\db\ActiveQuery
*/
|
3b1725bf
Alexey Boroda
-Bug with fill re...
|
150
|
public function getArticles()
|
593851ec
Alexey Boroda
First commit
|
151
|
{
|
3b1725bf
Alexey Boroda
-Bug with fill re...
|
152
|
return $this->hasMany(Article::className(), [ 'id' => 'blog_article_id' ])
|
593851ec
Alexey Boroda
First commit
|
153
154
|
->viaTable('blog_article_to_article', [ 'related_blog_article_id' => 'id' ]);
}
|
3b1725bf
Alexey Boroda
-Bug with fill re...
|
155
|
|
593851ec
Alexey Boroda
First commit
|
156
157
158
|
/**
* @return \yii\db\ActiveQuery
*/
|
ee588281
Alexey Boroda
-Blog backend ready
|
159
|
public function getCategories()
|
593851ec
Alexey Boroda
First commit
|
160
|
{
|
ee588281
Alexey Boroda
-Blog backend ready
|
161
|
return $this->hasMany(Category::className(), [ 'id' => 'blog_category_id' ])
|
593851ec
Alexey Boroda
First commit
|
162
163
|
->viaTable('blog_article_to_category', [ 'blog_article_id' => 'id' ]);
}
|
3b1725bf
Alexey Boroda
-Bug with fill re...
|
164
|
|
593851ec
Alexey Boroda
First commit
|
165
166
167
|
/**
* @return \yii\db\ActiveQuery
*/
|
ee588281
Alexey Boroda
-Blog backend ready
|
168
|
public function getCategory()
|
593851ec
Alexey Boroda
First commit
|
169
|
{
|
ee588281
Alexey Boroda
-Blog backend ready
|
170
171
|
return $this->hasOne(Category::className(), [ 'id' => 'blog_category_id' ])
->viaTable('blog_article_to_category', [ 'blog_article_id' => 'id' ]);
|
593851ec
Alexey Boroda
First commit
|
172
|
}
|
3b1725bf
Alexey Boroda
-Bug with fill re...
|
173
|
|
593851ec
Alexey Boroda
First commit
|
174
175
176
177
178
179
|
/**
* @return \yii\db\ActiveQuery
*/
public function getProducts()
{
return $this->hasMany(Product::className(), [ 'id' => 'product_id' ])
|
ee588281
Alexey Boroda
-Blog backend ready
|
180
|
->viaTable('blog_article_to_product', [ 'blog_article_id' => 'id' ]);
|
593851ec
Alexey Boroda
First commit
|
181
|
}
|
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 getTags()
|
593851ec
Alexey Boroda
First commit
|
187
|
{
|
ee588281
Alexey Boroda
-Blog backend ready
|
188
189
|
return $this->hasMany(Tag::className(), [ 'id' => 'blog_tag_id' ])
->viaTable('blog_article_to_tag', [ 'blog_article_id' => 'id' ]);
|
593851ec
Alexey Boroda
First commit
|
190
191
|
}
}
|