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;
    }

}