Skip to content

Instantly share code, notes, and snippets.

@xtepwxly
Last active September 18, 2015 15:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save xtepwxly/5dcfe0564d08df63e095 to your computer and use it in GitHub Desktop.
Save xtepwxly/5dcfe0564d08df63e095 to your computer and use it in GitHub Desktop.
Fractal
<?php
$resource = new Fractal\Resource\Collection($envData, function(EnviromentalData $env) {
return [
'Data Recorded' => $env->data_recorded,
'Mean Temperature' => (new StatisticsDataset($env->air_temp))->getMean(),
'Median Temperature' => (new StatisticsDataset($env->air_temp))->getMedian(),
'Mean Pressure' => (new StatisticsDataset($env->bar_press))->getMean(),
'Median Pressure' => (new StatisticsDataset($env->bar_press))->getMedian(),
'Mean Speed' => (new StatisticsDataset($env->wind_speed))->getMean(),
'Median Speed' => (new StatisticsDataset($env->wind_speed))->getMedian()
];
});
return $resource;
<?php
namespace App\Http\Controllers;
use App\Datasets\StatisticsDataset;
use App\EnviromentalData;
use App\Services\EnviromentalDataTransformer;
use Carbon\Carbon;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Validator;
use Log;
use Illuminate\Support\MessageBag;
use League\Fractal;
class DashboardController extends Controller
{
/**
* Display a dashboard view
*
* @return \Illuminate\View\View
*/
public function index()
{
return view('pages.dashboard');
}
/**
* Display a listing of the resource.
*
* @param Request $request
* @return string
*/
public function show(Request $request)
{
$min = EnviromentalData::getFirstDate();
$max = EnviromentalData::getLastDate();
$dt = Carbon::createFromFormat('Y-m-d', $max);
$max = $dt->addDay();
$this->validate($request, [
'from' => 'required|date|after:' . $min . '|before:' . $max,
'to' => 'required|date|after:' . $min . '|before:' . $max
]);
$envData = EnviromentalData::whereBetween('data_recorded', array($request->from, $request->to))->get();
//return EnviromentalDataTransformer::transform($envData);
//$resource = new Fractal\Resource\Collection($envData, new EnviromentalDataTransformer);
$resource = new Fractal\Resource\Collection($envData, function(EnviromentalData $env) {
return [
'Data Recorded' => $env->data_recorded,
'Mean Temperature' => ((new StatisticsDataset($env->air_temp))->getMean()),
'Median Temperature' => ((new StatisticsDataset($env->air_temp))->getMedian()),
'Mean Pressure' => ((new StatisticsDataset($env->bar_press))->getMean()),
'Median Pressure' => ((new StatisticsDataset($env->bar_press))->getMedian()),
'Mean Speed' => ((new StatisticsDataset($env->wind_speed))->getMean()),
'Median Speed' => ((new StatisticsDataset($env->wind_speed))->getMedian())
];
});
return $resource;
}
}
<?php
$averages = [];
foreach ($bigData as $row)
{
$avgTemp = new StatisticsDataset($row->air_temp);
$avgBar = new StatisticsDataset($row->bar_press);
$avgWind = new StatisticsDataset($row->wind_speed);
$averages[] = [
'Data Recorded' => $row->data_recorded,
'Mean Temperature' => $avgTemp->getMean(),
'Median Temperature' => $avgTemp->getMedian(),
'Mean Pressure' => $avgBar->getMean(),
'Median Pressure' => $avgBar->getMedian(),
'Mean Speed' => $avgWind->getMean(),
'Median Speed' => $avgWind->getMedian()
];
}
return $averages;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment