Наследование: extends Exceptio\Exception
Пример #1
0
 /**
  * Update a media collection by deleting and inserting again with new values.
  *
  * @param array  $newMediaArray
  * @param string $collectionName
  *
  * @return array
  *
  * @throws \Spatie\MediaLibrary\Exceptions\MediaCannotBeUpdated
  */
 public function updateMedia(array $newMediaArray, string $collectionName = 'default') : array
 {
     $this->removeMediaItemsNotPresentInArray($newMediaArray, $collectionName);
     $orderColumn = 1;
     $updatedMedia = [];
     foreach ($newMediaArray as $newMediaItem) {
         $mediaClass = config('laravel-medialibrary.media_model');
         $currentMedia = $mediaClass::findOrFail($newMediaItem['id']);
         if ($currentMedia->collection_name != $collectionName) {
             throw MediaCannotBeUpdated::doesNotBelongToCollection($collectionName, $currentMedia);
         }
         if (array_key_exists('name', $newMediaItem)) {
             $currentMedia->name = $newMediaItem['name'];
         }
         if (array_key_exists('custom_properties', $newMediaItem)) {
             $currentMedia->custom_properties = $newMediaItem['custom_properties'];
         }
         $currentMedia->order_column = $orderColumn++;
         $currentMedia->save();
         $updatedMedia[] = $currentMedia;
     }
     return $updatedMedia;
 }