You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
if (QueryChecker::hasHavingClause($queryBuilder)) {
138
-
return true;
139
-
}
140
-
141
-
/*
142
-
* "Paginating an entity with foreign key as identifier only works when using the Output Walkers. Call Paginator#setUseOutputWalkers(true) before iterating the paginator."
By default Doctrine comes with [lazy loading](http://doctrine-orm.readthedocs.io/en/latest/reference/working-with-objects.html#by-lazy-loading).
244
33
Usually a killer time-saving feature and also a performance killer with large applications.
@@ -249,7 +38,7 @@ This can easily be enabled for a relation: `@ORM\ManyToOne(fetch="EAGER")`.
249
38
By default in API Platform, we made the choice to force eager loading for all relations, with or without the Doctrine
250
39
`fetch` attribute. Thanks to the eager loading [extension](extensions.md).
251
40
252
-
##### Max joins
41
+
#### Max joins
253
42
254
43
There is a default restriction with this feature. We allow up to 30 joins per query. Beyond, an
255
44
`ApiPlatform\Core\Exception\RuntimeException` exception will be thrown but this value can easily be increased with a
@@ -270,7 +59,7 @@ api_platform:
270
59
Be careful when you exceed this limit, it's often caused by the result of a circular reference. [Serializer groups](serialization-groups-and-relations.md)
271
60
can be a good solution to fix this issue.
272
61
273
-
##### Force eager
62
+
#### Force eager
274
63
275
64
As mentioned above, by default we force eager loading for all relations. This behaviour can be modified with the
276
65
configuration in order to apply it only on join relations having the `EAGER` fetch mode:
@@ -287,7 +76,7 @@ api_platform:
287
76
# ...
288
77
```
289
78
290
-
##### Override at resource and operation level
79
+
#### Override at resource and operation level
291
80
292
81
When eager loading is enabled, whatever the status of the `force_eager` parameter, you can easily override it directly
293
82
from the configuration of each resource. You can do this at the resource level, at the operations level, or both:
@@ -380,7 +169,7 @@ class Group
380
169
Be careful, the operation level is higher priority than the resource level but both are higher priority than the global
381
170
configuration.
382
171
383
-
##### Disable eager loading
172
+
#### Disable eager loading
384
173
385
174
If for any reason you don't want the eager loading feature, you can turn off it in the configuration:
0 commit comments