7eb29439
Yarik
test
|
1
2
3
4
5
6
7
8
9
10
11
|
<?php
namespace common\models;
use Yii;
use yii\behaviors\BlameableBehavior;
use yii\behaviors\TimestampBehavior;
use yii\db\Expression;
/**
* This is the model class for table "portfolio".
|
84ebac3d
Yarik
test
|
12
13
14
15
16
17
18
19
20
21
22
23
24
|
* @property integer $portfolio_id
* @property integer $user_id
* @property string $name
* @property string $link
* @property string $date_add
* @property integer $user_add_id Currently inactive attribute
* @property integer $view_count
* @property string $city
* @property string $street
* @property string $house
* @property string $description
* @property string $cover
* @property integer $gallery_id
|
7eb29439
Yarik
test
|
25
|
* @property PortfolioSpecialization[] $portfolioSpecializations
|
84ebac3d
Yarik
test
|
26
|
* @property Specialization[] $specializations
|
7eb29439
Yarik
test
|
27
28
29
|
*/
class Portfolio extends \yii\db\ActiveRecord
{
|
84ebac3d
Yarik
test
|
30
|
|
7eb29439
Yarik
test
|
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
/**
* @inheritdoc
*/
public static function tableName()
{
return 'portfolio';
}
/**
* @inheritdoc
*/
public function behaviors()
{
return [
[
|
84ebac3d
Yarik
test
|
46
|
'class' => BlameableBehavior::className(),
|
7eb29439
Yarik
test
|
47
48
49
50
|
'createdByAttribute' => 'user_id',
'updatedByAttribute' => false,
],
[
|
84ebac3d
Yarik
test
|
51
|
'class' => TimestampBehavior::className(),
|
7eb29439
Yarik
test
|
52
53
|
'createdAtAttribute' => 'date_add',
'updatedAtAttribute' => false,
|
84ebac3d
Yarik
test
|
54
|
'value' => new Expression('NOW()'),
|
7eb29439
Yarik
test
|
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
],
];
}
/**
* @inheritdoc
*/
public function rules()
{
return [
[
[
'name',
],
'required',
],
[
[
|
7eb29439
Yarik
test
|
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
'gallery_id',
],
'integer',
],
[
[
'description',
'cover',
],
'string',
],
[
[
'name',
'link',
'city',
'street',
'house',
],
'string',
'max' => 255,
],
[
[
|
84ebac3d
Yarik
test
|
97
|
'specializationInput',
|
7eb29439
Yarik
test
|
98
99
100
101
102
103
104
105
106
107
108
109
|
],
'safe',
],
];
}
/**
* @inheritdoc
*/
public function attributeLabels()
{
return [
|
989c83b0
Yarik
test
|
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
'portfolio_id' => Yii::t('app', 'Portfolio ID'),
'user_id' => Yii::t('app', 'User ID'),
'name' => Yii::t('app', 'Название'),
'link' => Yii::t('app', 'URL'),
'date_add' => Yii::t('app', 'Дата добавления'),
'user_add_id' => Yii::t('app', 'User Add ID'),
'view_count' => Yii::t('app', 'Количество просмотров'),
'city' => Yii::t('app', 'Город'),
'street' => Yii::t('app', 'Улица'),
'house' => Yii::t('app', 'Дом'),
'description' => Yii::t('app', 'Описание'),
'cover' => Yii::t('app', 'Фото главное'),
'gallery_id' => Yii::t('app', 'Фото галерея'),
'specializationString' => Yii::t('app', 'Специализации'),
|
7eb29439
Yarik
test
|
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
|
];
}
/**
* @return \yii\db\ActiveQuery
*/
public function getPortfolioSpecializations()
{
return $this->hasMany(PortfolioSpecialization::className(), [ 'portfolio_id' => 'portfolio_id' ]);
}
public function getSpecializations()
{
return $this->hasMany(Specialization::className(), [ 'specialization_id' => 'specialization_id' ])
->viaTable('portfolio_specialization', [ 'portfolio_id' => 'portfolio_id' ]);
}
public function getSpecializationInput()
{
|
84ebac3d
Yarik
test
|
143
144
|
return $this->getSpecializations()
->asArray()
|
1b56164e
Yarik
test
|
145
|
->indexBy('specialization_id')
|
84ebac3d
Yarik
test
|
146
|
->column();
|
7eb29439
Yarik
test
|
147
148
149
150
151
152
|
}
public function setSpecializationInput($value)
{
$this->specializationInput = $value;
}
|
989c83b0
Yarik
test
|
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
|
public function getSpecializationString()
{
return implode(', ', $this->getSpecializations()
->select([
'specialization_name',
'specialization_id',
])
->asArray()
->indexBy('specialization_id')
->column());
}
public function setSpecializationString($value)
{
$this->specializationString = $value;
}
|
7eb29439
Yarik
test
|
170
|
}
|