Exemplo n.º 1
0
 /**
  * Locates relations with delete flag and cascades the delete event.
  * @return void
  */
 protected function performDeleteOnRelations()
 {
     $definitions = $this->getRelationDefinitions();
     foreach ($definitions as $type => $relations) {
         /*
          * Hard 'delete' definition
          */
         foreach ($relations as $name => $options) {
             if (!Arr::get($options, 'delete', false)) {
                 continue;
             }
             if (!($relation = $this->{$name})) {
                 continue;
             }
             if ($relation instanceof EloquentModel) {
                 $relation->forceDelete();
             } elseif ($relation instanceof CollectionBase) {
                 $relation->each(function ($model) {
                     $model->forceDelete();
                 });
             }
         }
         /*
          * Belongs-To-Many should clean up after itself always
          */
         if ($type == 'belongsToMany') {
             foreach ($relations as $name => $options) {
                 $this->{$name}()->detach();
             }
         }
     }
 }
Exemplo n.º 2
0
 /**
  * Get the model's original attribute values.
  *
  * @param  string|null  $key
  * @param  mixed  $default
  * @return array
  */
 public function getOriginal($key = null, $default = null)
 {
     return Arr::get($this->original, $key, $default);
 }