You can associate a file with a model like this:
$newsItem = News::find(1); $newsItem->addMedia($pathToFile) ->toMediaLibrary();
The file will now be associated with the newsitem and will be moved to the disk you’ve configured.
If you want to preserve the original file, you can call
$newsItem->addMedia($pathToFile) ->preservingOriginal() ->toMediaLibrary();
v3.8+ You can also add a remote file to the media library:
$url = 'http://medialibrary.spatie.be/assets/images/mountain.jpg'; $newsItem->addMediaFromUrl($url) ->toMediaLibrary();