with([ 'media', ]) ->get(); foreach ($meetups as $meetup) { $logo = $meetup->getFirstMedia('logo'); if ($logo) { if (file_exists($logo->getPath())) { $safeName = str($meetup->name) ->ascii() ->replaceMatches('/[^a-zA-Z0-9\s\-_]/', '') ->studly(); Storage::disk('public') ->put('00_logos/'.$safeName.'.'.$logo->extension, file_get_contents($logo->getPath())); } } } } }