Blog.php
3.39 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
<?php
namespace common\models;
use common\modules\comment\models\Comment;
use Yii;
use yii\behaviors\BlameableBehavior;
use yii\behaviors\TimestampBehavior;
use yii\db\Expression;
/**
* This is the model class for table "blog".
* @property integer $blog_id
* @property integer $user_id
* @property string $name
* @property string $link
* @property string $date_add
* @property integer $user_add_id
* @property integer $view_count
* @property string $description
* @property string $cover
*/
class Blog extends \yii\db\ActiveRecord
{
/**
* @inheritdoc
*/
public static function tableName()
{
return 'blog';
}
/**
* @inheritdoc
*/
public function behaviors()
{
return [
[
'class' => BlameableBehavior::className(),
'createdByAttribute' => 'user_id',
'updatedByAttribute' => false,
],
[
'class' => TimestampBehavior::className(),
'createdAtAttribute' => 'date_add',
'updatedAtAttribute' => false,
'value' => new Expression('NOW()'),
],
'slug' => [
'class' => 'common\behaviors\Slug',
'in_attribute' => 'name',
'out_attribute' => 'link',
'translit' => true,
],
];
}
/**
* @inheritdoc
*/
public function rules()
{
return [
[
[
'name',
'description',
],
'required',
],
[
[ 'description' ],
'string',
],
[
[
'name',
'link',
'cover',
],
'string',
'max' => 255,
],
];
}
public function getDateCreate()
{
return date('Y-m-d', strtotime($this->date_add));
}
/**
* @inheritdoc
*/
public function attributeLabels()
{
return [
'blog_id' => Yii::t('app', 'blog_id'),
'user_id' => Yii::t('app', 'user_id'),
'name' => Yii::t('app', 'name'),
'link' => Yii::t('app', 'link'),
'date_add' => Yii::t('app', 'date_add'),
'user_add_id' => Yii::t('app', 'user_add_id'),
'view_count' => Yii::t('app', 'view_count'),
'description' => Yii::t('app', 'description'),
'cover' => Yii::t('app', 'cover'),
];
}
public function getComments()
{
return $this->hasMany(Comment::className(), [ 'model_id' => 'blog_id' ])
->where([ 'model' => $this->className() ]);
}
}