model->where([ 'user_id' => $user->id, 'liked' => true, ]) ->with('song') ->get() ->pluck('song'); } /** * @return Interaction[] */ public function getRecentlyPlayed(User $user, ?int $count = null): array { /** @var Builder $query */ $query = $this->model ->where('user_id', $user->id) ->where('play_count', '>', 0) ->orderBy('updated_at', 'DESC'); if ($count) { $query = $query->take($count); } return $query ->get() ->pluck('song_id') ->all(); } }