feat: add total duration for playlist
This commit is contained in:
@@ -126,7 +126,7 @@ public function grouped($id)
|
||||
'description' => $sub->description,
|
||||
'image_url' => $sub->image?->url,
|
||||
],
|
||||
'playlists' => $sub->playlists,
|
||||
'playlists' => $sub->playlists->each(fn ($p) => $p->append('duration')),
|
||||
])->values(),
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -98,6 +98,8 @@ public function show($id)
|
||||
->latest()
|
||||
->paginate(15);
|
||||
|
||||
$playlist->append('duration');
|
||||
|
||||
return response()->json(array_merge(
|
||||
$playlist->toArray(),
|
||||
[
|
||||
|
||||
@@ -71,4 +71,10 @@ public function getTotalDurationAttribute()
|
||||
{
|
||||
return $this->musics()->where('music.is_active', true)->sum('music.duration');
|
||||
}
|
||||
|
||||
// Total play time of the playlist = sum of its active musics' durations.
|
||||
public function getDurationAttribute()
|
||||
{
|
||||
return $this->total_duration;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user