Blog.php
3.5 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
<?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 "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
    {
        public $imageUpload;
        /**
         * @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,
                ],
                [['imageUpload'], 'safe'],
                [['imageUpload'], 'file', 'extensions' => 'jpg, gif, png'],
            ];
        }
        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'),
                'image'       => Yii::t('app', 'cover'),
                'imageUrl'    => Yii::t('app', 'cover'),
            ];
        }
        public function getImageFile() {
            return empty($this->image) ? null : Yii::getAlias('@imagesDir/brands/'. $this->image);
        }
        public function getImageUrl()
        {
            return empty($this->image) ? null : Yii::getAlias('@imagesUrl/brands/' . $this->image);
        }
    }