Example #1
0
 /**
  * Attaches external storages to a given record.
  *
  * @param EloquentModel $item
  * @return EloquentModel
  */
 private static function attachStorages(Model $item = null)
 {
     if (!empty($item['id'])) {
         foreach ($item->getRelations() as $value) {
             if ($value instanceof Model) {
                 self::attachStorages($value);
             } elseif ($value instanceof Collection) {
                 foreach ($value as $subItem) {
                     self::attachStorages($subItem);
                 }
             }
         }
         $class = get_class($item);
         $storages = $class::getStorageDescriptor();
         foreach ($storages as $storage) {
             $storage->attachTo($item);
         }
     }
     return $item;
 }