Laravel 5 如何使用Laravel Medialibrary检索相关模型的媒体?

Laravel 5 如何使用Laravel Medialibrary检索相关模型的媒体?,laravel-5,media-library,Laravel 5,Media Library,我有专辑模型和曲目模型。他们只有一段恋情。一张专辑可以有多首曲目,而一首曲目只能属于一张专辑。我正在使用媒体库将歌曲的封面和mp3文件与曲目模型相关联 在我的AlbumController中,我有一个这样的查询 $album = $album->where('id', $id)->with('tracks', 'artist')->first(); return view('admins.albums.show', compact('album')); 这会加载相册的曲目,但

我有专辑模型和曲目模型。他们只有一段恋情。一张专辑可以有多首曲目,而一首曲目只能属于一张专辑。我正在使用媒体库将歌曲的封面和mp3文件与曲目模型相关联

在我的AlbumController中,我有一个这样的查询

$album = $album->where('id', $id)->with('tracks', 'artist')->first();
return view('admins.albums.show', compact('album'));
这会加载相册的曲目,但不会加载媒体。在我看来,我可以通过循环轨迹并调用getMedia()函数来获取媒体,但是Api呢

在将媒体作为响应发送之前,如何将其作为Json返回?

您可以使用祖先()将url附加到模型,例如(im使用不同的模型btw):

将此项放在模型的开头(这无关紧要):

他们:

public function getLogoUrlAttribute()
{
    return (empty($this->getMedia('restaurants')[0])) ? "" : $this->getMedia('restaurants')[0]->getFullUrl();
}
此代码在附加了媒体特性的模型上运行

public function getLogoUrlAttribute()
{
    return (empty($this->getMedia('restaurants')[0])) ? "" : $this->getMedia('restaurants')[0]->getFullUrl();
}