[ 'class' => 'common\behaviors\Slug', 'in_attribute' => 'name', 'out_attribute' => 'link', 'translit' => true ] ]; } public function beforeSave($insert) { $this->date_start = \Yii::$app->formatter->asDatetime($this->date_start, 'Y-MM-d HH:mm:ss'); if($this->date_end) { $this->date_end = \Yii::$app->formatter->asDatetime($this->date_end, 'Y-MM-d HH:mm:ss'); } return parent::beforeSave($insert); // TODO: Change the autogenerated stub } /** * @inheritdoc */ public function rules() { return [ [['name'], 'required'], [['date_start', 'date_end'], 'safe'], [['user_id', 'total_count', 'complete_count', 'current'], 'integer'], [['name', 'link', 'position'], 'string', 'max' => 255] ]; } public function getExpTime() { if($this->date_end && $this->date_start){ $date = new \DateTime(date('Y-m-d H:i:s', $this->date_start)); return \Yii::$app->formatter->asRelativeTime($date->diff(new \DateTime(date('Y-m-d H:i:s', $this->date_end)))); } elseif($this->date_start) { $now = new \DateTime(); $date = new \DateTime(date('Y-m-d H:i:s', strtotime($this->date_start))); return \Yii::$app->formatter->asRelativeTime($date->diff(new \DateTime())); } else { return 'неизвестна дата начала'; } } /** * @inheritdoc */ public function attributeLabels() { return [ 'job_id' => Yii::t('app', 'Job ID'), 'name' => Yii::t('app', 'Name'), 'link' => Yii::t('app', 'Link'), 'date_start' => Yii::t('app', 'Date Start'), 'date_end' => Yii::t('app', 'Date End'), 'position' => Yii::t('app', 'Position'), 'user_id' => Yii::t('app', 'User ID'), 'total_count' => Yii::t('app', 'Total Count'), 'complete_count' => Yii::t('app', 'Complete Count'), 'current' => Yii::t('app', 'Current'), ]; } }