/** * Актвирует услугу * * @return array * [ * 'stock' => \app\models\Stock * 'dateFinish' => string - дата до которого оплачена услуга в формате 'yyyy-mm-dd' * ] */ public function activate() { $stock_id = $this->getField('stock_id'); $stock = Stock::find($stock_id); $monthCounter = $this->getField('month'); $dateFinish = \app\models\UserStock::add(\Yii::$app->user->getId(), $stock_id, $monthCounter, $this->getField('datetime')); $dateFinishStr = Yii::$app->formatter->asDate($dateFinish); WalletHistory::insert("Услуга включена, акция: {$stock->getName()}, месяцев: {$monthCounter}, до: {$dateFinishStr}"); self::delete(); return ['stock' => $stock, 'dateFinish' => $dateFinish]; }
public function activate() { $this->update(['datetime_activate' => gmdate('YmdHis')]); UserStock::add($this->getId(), 1, 0); }