Blame view

models/RatingModel.php 2.47 KB
a2cde075   Yarik   first commit
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
  <?php
      
      namespace artweb\artbox\comment\models;
      
      use common\models\User;
      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 $artbox_comment_rating_id
       * @property string  $created_at
       * @property string  $updated_at
       * @property integer $user_id
       * @property integer $value
       * @property string  $model
       * @property integer $model_id
       * @property User    $user
       */
      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' => 'user_id',
                      'updatedByAttribute' => false,
                  ],
              ];
          }
          
          /**
           * @inheritdoc
           */
          public function attributeLabels()
          {
              return [
                  'rating_id'  => Yii::t('app', 'Rating ID'),
                  'date_add'   => Yii::t('app', 'Date Add'),
                  'updated_at' => Yii::t('app', 'Date Update'),
                  'user_id'    => Yii::t('app', 'User ID'),
                  'entity'     => Yii::t('app', 'Entity'),
                  'value'      => Yii::t('app', 'Value'),
              ];
          }
          
          /**
           * @return \yii\db\ActiveQuery
           */
          public function getUser()
          {
              return $this->hasOne(User::className(), [ 'id' => 'user_id' ]);
          }
          
          public function getModel()
          {
              $model = $this->model;
              return $this->hasOne($model, [ $model::primaryKey() => 'model_id' ]);
          }
      }