public function checkBalanceUser() { //проверим на лимит созданных заданий на выборку - максимум - 3 if (!$this->hasErrors()) { $balance = User::getBalance(); if ($balance == 0) { $this->addError('words', 'Не достаточно средств на вашем балансе, для создания задания'); } else { //кол-во созданных заданий, но не проверенных $count = TasksSearch::find()->andWhere(['status' => self::STATUS_CREATE, 'user_id' => Yii::$app->user->id])->count(); //подсчитаем на сколько заданий у юзера хватает баланса $cost_earlier_tasks = ($count + 1) * Yii::$app->params['task.cost']; //+1 - итоговая сумма к списанию за все ранее созданные задания+ текущее if ($cost_earlier_tasks > $balance) { $this->addError('words', 'Извините, вам не хватает средств на балансе, пополните баланс'); } } } }