yii2 переписать модель addError

Это оригинальная функция Model.php

public function addError($attribute, $error = '')
{
    $this->_errors[$attribute][] = $error;
}

в моем свойстве модели я хочу переопределить этот метод таким образом

public function addError($attribute, $error = '')
{
    if ($attribute == 'status'){
        $this->_errors[$attribute] = $error;
    }
    else{
        $this->_errors[$attribute][] = $error;
    }
}

Я не могу получить доступ к $this->_error... Я понятия не имею, как я могу переопределить эту функцию без изменения main model.php

1 ответ

Нашел решение! В личном классе модели добавить это

/**
 * @param array $errors
 */
public function setErrors($errors)
{
    $this->errors = $errors;
}

и в моей функции проверки

$this->setErrors(['status' => false, $attribute => 'not found']);

без использования функции addError

Другие вопросы по тегам