Routes

Route::get('inspections', ['middleware' => 'cors', function()
{
$isp = new \App\Inspection();
return $isp
->with('greenAreas')
->with('assets') // where each green area has its own set of assets
->get();
}]);

As written in the comment, I'd like to get all the assets for that green area, and then all the green areas for that inspection.

then you can use eager loading of eloquent to easily bring the related models as in the example bellow.. you pass the primary key of the inspection model to find method, and then grab green area and related asset for it

Inspection:find(1)->with('greenArea.assets');

Email codedump link for How to go deeper with Eloquent hasMany in Laravel 5.2?