Skip to content

Commit e0c8648

Browse files
Merge pull request dingo#1138 from cclep/master
Fixed 500 error when requesting include that didn't exist
2 parents 187db79 + 5b7743e commit e0c8648

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

src/Transformer/Adapter/Fractal.php

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use Dingo\Api\Http\Request;
66
use Dingo\Api\Transformer\Binding;
7+
use League\Fractal\TransformerAbstract;
78
use Dingo\Api\Contract\Transformer\Adapter;
89
use League\Fractal\Manager as FractalManager;
910
use League\Fractal\Resource\Item as FractalItem;
@@ -64,10 +65,10 @@ public function __construct(FractalManager $fractal, $includeKey = 'include', $i
6465
/**
6566
* Transform a response with a transformer.
6667
*
67-
* @param mixed $response
68-
* @param object $transformer
69-
* @param \Dingo\Api\Transformer\Binding $binding
70-
* @param \Dingo\Api\Http\Request $request
68+
* @param mixed $response
69+
* @param League\Fractal\TransformerAbstract|object $transformer
70+
* @param \Dingo\Api\Transformer\Binding $binding
71+
* @param \Dingo\Api\Http\Request $request
7172
*
7273
* @return array
7374
*/
@@ -89,6 +90,11 @@ public function transform($response, $transformer, Binding $binding, Request $re
8990
if ($this->shouldEagerLoad($response)) {
9091
$eagerLoads = $this->mergeEagerLoads($transformer, $this->fractal->getRequestedIncludes());
9192

93+
if ($transformer instanceof TransformerAbstract) {
94+
// Only eager load the items in available includes
95+
$eagerLoads = array_intersect($eagerLoads, $transformer->getAvailableIncludes());
96+
}
97+
9298
$response->load($eagerLoads);
9399
}
94100

0 commit comments

Comments
 (0)