Customer.php
3.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<?php
namespace common\models;
use Yii;
/**
* This is the model class for table "customer".
*
* @property integer $id
* @property string $username
* @property string $password_hash
* @property string $name
* @property string $surname
* @property string $phone
* @property string $date_time
* @property string $gender
* @property integer $birth_day
* @property integer $birth_month
* @property integer $birth_year
* @property string $body
* @property integer $group_id
* @property string $email
* @property string $auth_key
* @property string $password_reset_token
* @property integer $status
* @property integer $created_at
* @property integer $updated_at
*
* @property ArtboxComment[] $artboxComments
* @property ArtboxCommentRating[] $artboxCommentRatings
* @property ArtboxLike[] $artboxLikes
* @property Share[] $shares
*/
class Customer extends User implements \yii\web\IdentityInterface
{
/**
* @inheritdoc
*/
public static function tableName()
{
return 'customer';
}
/**
* @inheritdoc
*/
public function rules()
{
return [
[['username', 'password_hash'], 'required'],
[['date_time'], 'safe'],
[['birth_day', 'birth_month', 'birth_year', 'group_id', 'status', 'created_at', 'updated_at'], 'integer'],
[['body'], 'string'],
[['status'],'default', 'value' => '10'],
[['username', 'name', 'surname', 'phone', 'email', 'password_reset_token'], 'string', 'max' => 255],
[['gender', 'auth_key'], 'string', 'max' => 32],
];
}
/**
* @inheritdoc
*/
public function attributeLabels()
{
return [
'id' => 'ID',
'username' => 'Username',
'name' => 'Name',
'surname' => 'Surname',
'phone' => 'Phone',
'date_time' => 'Date Time',
'gender' => 'Gender',
'birth_day' => 'Birth Day',
'birth_month' => 'Birth Month',
'birth_year' => 'Birth Year',
'body' => 'Body',
'group_id' => 'Group ID',
'email' => 'Email',
'auth_key' => 'Auth Key',
'password_reset_token' => 'Password Reset Token',
'status' => 'Status',
'created_at' => 'Created At',
'updated_at' => 'Updated At',
];
}
/**
* @return \yii\db\ActiveQuery
*/
public function getArtboxComments()
{
return $this->hasMany(ArtboxComment::className(), ['user_id' => 'id']);
}
/**
* @return \yii\db\ActiveQuery
*/
public function getArtboxCommentRatings()
{
return $this->hasMany(ArtboxCommentRating::className(), ['user_id' => 'id']);
}
/**
* @return \yii\db\ActiveQuery
*/
public function getArtboxLikes()
{
return $this->hasMany(ArtboxLike::className(), ['user_id' => 'id']);
}
/**
* @return \yii\db\ActiveQuery
*/
public function getShares()
{
return $this->hasMany(Share::className(), ['user_id' => 'id']);
}
/**
* Finds user by email
*
* @param string $email
* @return static|null
*/
public static function findByEmail($email)
{
return static::findOne(['email' => $email, 'status' => self::STATUS_ACTIVE]);
}
public function getName(){
return $this->username. ' '.$this->surname;
}
}