public function getBrowse($category) { //Get browse category $category_filtered = strtoupper(trim($category)); //Page Title $data['title'] = $category_filtered; //Switch to get appropriate data, redirect to error if options aren't listed switch ($category_filtered) { case 'SERIES': $data['comics'] = Comicbooks::orderBy('book_name', 'asc')->get(); break; case 'AUTHORS': $data['comics'] = Authors::select('author_name')->orderBy('author_name', 'asc')->distinct()->get(); break; case 'ARTISTS': $data['comics'] = Artists::select('artist_name')->orderBy('artist_name', 'asc')->distinct()->get(); break; case 'CHARACTERS': $data['comics'] = Characters::select('character_name')->orderBy('character_name', 'asc')->distinct()->get(); break; case 'PUBLISHERS': $data['comics'] = Publishers::select('publisher_name')->orderBy('publisher_name', 'asc')->distinct()->get(); break; case 'GENRES': $data['comics'] = Genres::orderBy('genre_name', 'asc')->get(); break; case 'YEARS': //This needed to be a raw query because of the date $data['comics'] = Comicissues::select(DB::raw('year(published_date) as year'))->orderBy('published_date', 'asc')->distinct()->get(); break; default: return Redirect::to('error'); break; } $this->layout->content = View::make('browse', $data); }
public function getAdmin() { //Get info $data['users'] = User::paginate(5); $data['recent_books'] = Comicbooks::select('book_name', 'updated_at')->orderBy('updated_at', 'desc')->paginate(3); $data['user_count'] = User::where('id', '>', 0)->count(); $data['publisher_count'] = Publishers::where('id', '>', 0)->count(); $data['books_count'] = Comicbooks::where('id', '>', 0)->count(); $data['issue_count'] = Comicissues::where('issue_id', '>', 0)->where('book_id', '>', 0)->count(); $data['artist_count'] = Artists::count(); $data['author_count'] = Authors::count(); $data['books_created'] = Comicbooks::select(DB::raw('count(*) as count'), 'created_at')->groupby(DB::raw('date_format(created_at, "%b %Y")'))->orderby('created_at', 'asc')->get(); $data['issues_created'] = Comicissues::select(DB::raw('count(*) as count'), 'created_at')->groupby(DB::raw('date_format(created_at, "%b %Y")'))->orderby('created_at', 'asc')->get(); //Check if there are any comicbook series if (count($data['books_created']) > 0) { //Get the count of books per the month/year then return the json encoded string foreach ($data['books_created'] as $created) { $created_books[] = $created->count; $created_books_date[] = date_format($created->created_at, "M Y"); } $data['created_books'] = json_encode($created_books); } //Check if there are any comicbook issue if (count($data['issues_created']) > 0) { //Get the count of issues per the month/year then return the json encoded string foreach ($data['issues_created'] as $created) { $created_issues[] = $created->count; $created_issues_date[] = date_format($created->created_at, "M Y"); } $data['created_issues'] = json_encode($created_issues); } //Merge dates from comicbook series and issues created then return the json encoded string $data['created_dates'] = json_encode(array_unique(array_merge($created_issues_date, $created_books_date))); $this->layout->content = View::make('admin.index', $data); }