public function api_get_tracks() { Paginator::setPageName('page'); $tracks = Track::join('albums', 'albums.id', '=', 'tracks.album_id')->join('artists', 'artists.id', '=', 'albums.artist_id')->select(array('tracks.id', 'albums.name as album_name', 'tracks.name as track_name', 'artists.name as artist_name')); $search = Input::get('search'); if (isset($search)) { $tracks = $tracks->where('tracks.name', 'like', '%' . $search . '%')->orWhere('albums.name', 'like', '%' . $search . '%')->orWhere('artists.name', 'like', '%' . $search . '%'); } $tracks = $tracks->paginate(PAGE_SIZE); //var_dump(DB::getQueryLog());die(); return $tracks; }