get()->all(); $attractions = DB::table('attraction')->select(['id', 'name', 'status', 'region_id'])->where('status', '!=', 'GLOBAL')->get()->all(); $statuses = DB::table('status')->get()->all(); //TODO $data = []; foreach($regions as $region) { $region->attractions = []; $data[$region->id] = $region; } $status = []; foreach ($statuses as $stat) $status[$stat->statusId] = $stat->statusName; foreach ($attractions as $attraction) { $region_id = $attraction->region_id; $attraction->status = $status[$attraction->status]; if(array_key_exists($region_id, $data)) array_push($data[$region_id]->attractions, $attraction); } $temp = $data; $data = []; foreach ($temp as $key => $value) if(!empty($value->attractions)) array_push($data, $value); self::$data = $data; return $data; } }