Skip to content

Commit 0437991

Browse files
Set QueryInclude to be ignored in auto population.
Ex. for custom includes handled in Model postRestGet.
1 parent 72bb50b commit 0437991

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

Includes/QueryInclude.php

+3-1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
*/
1414
class QueryInclude {
1515

16+
public $ignoreAuto = false;
17+
1618
public static function parse($line) {
1719
$item = new QueryInclude();
1820

@@ -27,4 +29,4 @@ public static function parse($line) {
2729
return $item;
2830
}
2931

30-
}
32+
}

ResourceModelTrait.php

+9-3
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,9 @@ public function restGet($id, $queryParser) {
3131

3232
$this->preRestGet($queryParser, $id);
3333

34-
foreach($queryParser->getIncludes() as $include) $this->applyIncludeOne($include);
34+
foreach($queryParser->getIncludes() as $include) {
35+
if(!$include->ignoreAuto) $this->applyIncludeOne($include);
36+
}
3537
foreach($queryParser->getFilters() as $filter) $this->applyFilter($filter);
3638
$searchFilters = $queryParser->getSearchFilters();
3739
if(count($searchFilters)) {
@@ -60,10 +62,14 @@ public function restGet($id, $queryParser) {
6062
if($items->exists()) {
6163
if($id) {
6264
$item = $items->first();
63-
foreach($queryParser->getIncludes() as $include) $this->applyIncludeMany($items, $include);
65+
foreach($queryParser->getIncludes() as $include) {
66+
if(!$include->ignoreAuto) $this->applyIncludeMany($items, $include);
67+
}
6468
$this->applyRestGetOneRelations($item);
6569
} else {
66-
foreach($queryParser->getIncludes() as $include) $this->applyIncludeMany($items, $include);
70+
foreach($queryParser->getIncludes() as $include) {
71+
if(!$include->ignoreAuto) $this->applyIncludeMany($items, $include);
72+
}
6773
$this->appleRestGetManyRelations($items);
6874
}
6975

0 commit comments

Comments
 (0)