BaseActiveRecord.php
984 Bytes
<?php
/**
* Created by PhpStorm.
* User: Cibermag
* Date: 31.08.2015
* Time: 10:02
*/
namespace backend\components\base;
use common\components\exceptions\OrdinaryActiveRecordException;
class BaseActiveRecord extends \yii\db\ActiveRecord {
/**
* @param int $row
* @throws OrdinaryActiveRecordException
* выбрасывает специальное исключения, наполняя сообщение с массива ошибок модели (после попытки валидации)
*/
public function throwStringErrorException($row = 0){
$errors_str = '';
if ($row != 0) {
$errors_str = "Ошибка в строке {$row} ";
}
foreach ($this->getErrors() as $error) {
$errors_str .= implode( array_values($error) );
}
$ex = new OrdinaryActiveRecordException( $errors_str );
$ex->active_record_name = static::formName();
throw $ex;
}
}