<?php /* |-------------------------------------------------------------------------- | Application Routes |-------------------------------------------------------------------------- | | Here is where you can register all of the routes for an application. | It's a breeze. Simply tell Laravel the URIs it should respond to | and give it the Closure to execute when that URI is requested. | */ Route::get('/', function () { return View::make('hello'); }); Route::get('/tree', 'AnimalController@treeTimeFunTime'); Route::get('/animal/{id}', 'AnimalController@getBeastData'); Route::get('/sighting', 'AnimalController@addSighting'); Route::get('/discover', function () { return Beast::where('image', '!=', '0')->orderByRaw('RAND()')->get(); }); /*Route::get('/kingdoms', 'AnimalController@getKingdoms'); Route::get('/phylums/{kingdom}', 'AnimalController@getPhylums'); Route::get('/classes/{phylum}', 'AnimalController@getClasses'); Route::get('/orders/{class}', 'AnimalController@getOrders'); Route::get('/families/{order}', 'AnimalController@getFamilies'); Route::get('/genuses/{family}', 'AnimalController@getGenuses'); Route::get('/species/{genus}', 'AnimalController@getSpecies'); Route::get('/images', 'AnimalController@findPhotos'); Route::get('/all', 'AnimalController@ALLOFIT');*/
public function treeTimeFunTime() { $retArray = array(); foreach (Beast::distinct()->select('ClassName')->get() as $class) { $classBeastQuery = Beast::where('ClassName', '=', $class->ClassName)->where('image', '!=', '0'); if ($classBeastQuery->count() == 0) { continue; } $classBeast = $classBeastQuery->orderByRaw('RAND()')->first(); $classArray = array(); $classArray['type'] = 'Class'; $classArray['ClassName'] = $class->ClassName; $classArray['image'] = $classBeast->image; $classArray['imageName'] = isset($classBeast->AcceptedCommonName) ? $classBeast->AcceptedCommonName : $classBeast->ScientificName; $classArray['imageID'] = $classBeast->TaxonID; $classArray['children'] = array(); foreach (Beast::distinct()->select('FamilyName')->where('ClassName', '=', $class->ClassName)->get() as $family) { $familyBeastQuery = Beast::where('FamilyName', '=', $family->FamilyName)->where('image', '!=', '0'); if ($familyBeastQuery->count() == 0) { continue; } $familyBeast = $familyBeastQuery->orderByRaw('RAND()')->first(); $familyArray = array(); $familyArray['type'] = 'Family'; $familyArray['FamilyName'] = $family->FamilyName; $familyArray['image'] = $familyBeast->image; $familyArray['imageName'] = isset($familyBeast->AcceptedCommonName) ? $familyBeast->AcceptedCommonName : $familyBeast->ScientificName; $familyArray['imageID'] = $familyBeast->TaxonID; $familyArray['children'] = array(); foreach (Beast::where('image', '!=', '0')->where('FamilyName', '=', $family->FamilyName)->get() as $beast) { $beastArray = array(); $beastArray['image'] = $beast->image; $beastArray['FamilyName'] = $family->FamilyName; $beastArray['ClassName'] = $class->ClassName; $beastArray['imageName'] = isset($beast->AcceptedCommonName) ? $beast->AcceptedCommonName : $beast->ScientificName; $beastArray['imageID'] = $beast->TaxonID; $familyArray['children'][] = $beastArray; } $classArray['children'][] = $familyArray; } $retArray[] = $classArray; } return $retArray; }