RatingModel.php
2.53 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
<?php
namespace artbox\webcomment\models;
use Yii;
use yii\behaviors\BlameableBehavior;
use yii\behaviors\TimestampBehavior;
use yii\db\ActiveRecord;
/**
* This is the model class for table "artbox_comment_rating".
*
* @property integer $id
* @property string $created_at
* @property string $updated_at
* @property integer $customer_id
* @property integer $value
* @property string $model
* @property integer $model_id
*/
class RatingModel extends ActiveRecord
{
/**
* @inheritdoc
*/
public static function tableName()
{
return 'artbox_comment_rating';
}
/**
* @inheritdoc
*/
public function rules()
{
return [
[
[ 'value' ],
'required',
],
[
[ 'value' ],
'number',
'min' => 0.5,
'max' => 5,
],
];
}
public function behaviors()
{
return [
[
'class' => TimestampBehavior::className(),
],
[
'class' => BlameableBehavior::className(),
'createdByAttribute' => 'customer_id',
'updatedByAttribute' => false,
],
];
}
/**
* @inheritdoc
*/
public function attributeLabels()
{
return [
'id' => Yii::t('app', 'Rating ID'),
'created_at' => Yii::t('app', 'Date Add'),
'updated_at' => Yii::t('app', 'Date Update'),
'customer_id' => Yii::t('app', 'User ID'),
'entity' => Yii::t('app', 'Entity'),
'value' => Yii::t('app', 'Value'),
];
}
/**
* Get entity model for current model
*
* @return \yii\db\ActiveQuery|null
*/
public function getModel()
{
$model = $this->model;
if (method_exists($model, 'primaryKey')) {
/**
* @var ActiveRecord $model
*/
return $this->hasOne($model, [ $model::primaryKey()[ 0 ] => 'model_id' ]);
} else {
return null;
}
}
}