| 1 | <?php  | 
            ||
| 16 | trait ModelExceptionTrait  | 
            ||
| 17 | { | 
            ||
| 18 | /** @var Model */  | 
            ||
| 19 | protected $model;  | 
            ||
| 20 | |||
| 21 | /**  | 
            ||
| 22 | * ModelExceptionTrait constructor.  | 
            ||
| 23 | * @param Model $model  | 
            ||
| 24 | * @param int $code  | 
            ||
| 25 | * @param \Throwable $previous  | 
            ||
| 26 | */  | 
            ||
| 27 | public function __construct(Model $model, int $code = 0, \Throwable $previous = null)  | 
            ||
| 34 | |||
| 35 | /**  | 
            ||
| 36 | * @return Model  | 
            ||
| 37 | */  | 
            ||
| 38 | public function getModel(): Model  | 
            ||
| 42 | |||
| 43 | |||
| 44 | /**  | 
            ||
| 45 | * @param Model $model  | 
            ||
| 46 | * @return Model  | 
            ||
| 47 | */  | 
            ||
| 48 | public static function validateOrThrow(Model $model): Model  | 
            ||
| 55 | |||
| 56 | /**  | 
            ||
| 57 | * @param ActiveRecordInterface $record  | 
            ||
| 58 | * @return ActiveRecordInterface|ActiveRecord  | 
            ||
| 59 | */  | 
            ||
| 60 | public static function saveOrThrow(ActiveRecordInterface $record): ActiveRecordInterface  | 
            ||
| 67 | |||
| 68 | /**  | 
            ||
| 69 | * @param string $attribute  | 
            ||
| 70 | * @param string $error  | 
            ||
| 71 | * @param Model $model  | 
            ||
| 72 | */  | 
            ||
| 73 | public static function addAndThrow(string $attribute, string $error, Model $model)  | 
            ||
| 78 | }  |