TimestampBehavior::className(), 'value' => function(){ return date('Y-m-d H:i:s' ); } ] ]; } /** * @inheritdoc */ public function rules() { return [ [['name','value'], 'required'], [['status', 'type', 'value'], 'integer'], [['name'], 'string', 'max' => 64] ]; } /** * @inheritdoc */ public function attributeLabels() { return [ 'id_warehouse' => Yii::t('common/discount', 'Id Warehouse'), 'name' => Yii::t('common/discount', 'Name'), 'status' => Yii::t('common/discount', 'Status'), 'type' => Yii::t('common/discount', 'Type'), 'value' => Yii::t('common/discount', 'Value'), 'created_at' => Yii::t('common/discount', 'Created At'), 'updated_at' => Yii::t('common/discount', 'Updated At'), ]; } static function statuses() { return [ self::STATUS_ACTIVE => Yii::t('common/discount', 'Active'), self::STATUS_DELETED => Yii::t('common/discount', 'Inactive'), ]; } public function getStatusHuman(){ $result = null; $s = self::statuses($this->status); if ( array_key_exists($this->status, $s)){ $result = $s[$this->status]; } return $result; } static function types() { return [ self::TYPE_DEFAULT => Yii::t('common/discount', 'Discount'), ]; } public function getTypeHuman(){ $result = null; $s = self::types($this->type); if ( array_key_exists($this->type, $s)){ $result = $s[$this->type]; } return $result; } public static function read(){ return Discount::find()->andWhere([ 'status' => self::STATUS_ACTIVE ])->all(); } /** * @param integer $money * @param common\models\Discount $discount * */ public static function applyDiscount($money,$discount){ $result = $money; $valueOfDiscount = $money * $discount->value * 100; $result = $money - $valueOfDiscount; return $result; } }