Мне нужно проверить в моделе превышает данная атрибут не должно превышать атрибута другой моделе. То есть есть в одной моделе всего сколько стоит заказ $oplata, и во второй моделе есть сколько было внесена сумма, то есть финансовый отчет $sum.
Мне нужно чтобы сумма не превышала стоимости заказа, сделать валидацию
Делал следующим образом
public function actionDraft($id)
{
$model = $this->findModel($id);//Модель заказа
$financy = new Financy();//модель финансы, доходи рсход
if ($financy->load(Yii::$app->request->post()) && $financy->validate()){
if (!$financy->save()){
print_r($financy->getErrors());//Если не прошла проверку выводит ошибку
} else {
$model->fact_oplata = $model->fact_oplata + $financy->sum;//фактически сколько заплатили за заказ + с суммой внесений. То есть может вначале была предоплата, а в конце клиент полностью оплатил сумму
if ($model->oplata === $model->fact_oplata){//если все ровно, то проводит заказ на закрытие
$model->action = 0;
$model->save();
Yii::$app->session->addFlash('update', 'Заказ был закрыт');
} else {//Если нет, то выводит ошибку в валидации, вот тут у меня ступор получился
$financy->addError('Сумма не должно превышать всего');//создает ошибку
print_r($financy->getErrors());//выводит ошибку
}
}
return $this->redirect(['admin']);
}
return $this->renderAjax('draft', [
'model' => $model,
'financy' => $financy,
]);
}
Пробовал сделать и так throw new NotFoundHttpException('Сумма не должно превышать всего');
Только не совсем это подходит