コード例 #1
0
 public function getAlbums()
 {
     $query = Favourite::whereUserId(Auth::user()->id)->whereNotNull('album_id')->with(['album' => function ($query) {
         $query->userDetails();
     }, 'album.user', 'album.user.avatar', 'album.cover']);
     $albums = [];
     foreach ($query->get() as $fav) {
         if ($fav->album == null) {
             continue;
         }
         $albums[] = Album::mapPublicAlbumSummary($fav->album);
     }
     return Response::json(["albums" => $albums], 200);
 }
コード例 #2
0
 public function getContent($slug)
 {
     $user = User::whereSlug($slug)->first();
     if (!$user) {
         App::abort(404);
     }
     $query = Track::summary()->published()->listed()->explicitFilter()->with('genre', 'cover', 'user')->userDetails()->whereUserId($user->id)->whereNotNull('published_at');
     $tracks = [];
     $singles = [];
     foreach ($query->get() as $track) {
         if ($track->album_id != null) {
             $tracks[] = Track::mapPublicTrackSummary($track);
         } else {
             $singles[] = Track::mapPublicTrackSummary($track);
         }
     }
     $query = Album::summary()->with('user')->orderBy('created_at', 'desc')->where('track_count', '>', 0)->whereUserId($user->id);
     $albums = [];
     foreach ($query->get() as $album) {
         $albums[] = Album::mapPublicAlbumSummary($album);
     }
     return Response::json(['singles' => $singles, 'albumTracks' => $tracks, 'albums' => $albums], 200);
 }
コード例 #3
0
ファイル: AlbumsController.php プロジェクト: nsystem1/Pony.fm
 public function getIndex()
 {
     $page = 1;
     if (Input::has('page')) {
         $page = Input::get('page');
     }
     $query = Album::summary()->with('user', 'user.avatar', 'cover')->userDetails()->orderBy('title', 'asc')->where('track_count', '>', 0);
     $count = $query->count();
     $perPage = 40;
     $query->skip(($page - 1) * $perPage)->take($perPage);
     $albums = [];
     foreach ($query->get() as $album) {
         $albums[] = Album::mapPublicAlbumSummary($album);
     }
     return Response::json(["albums" => $albums, "current_page" => $page, "total_pages" => ceil($count / $perPage)], 200);
 }