diff --git a/packages/tables/src/Concerns/CanGroupRecords.php b/packages/tables/src/Concerns/CanGroupRecords.php index d2b73f02d4..e0e487a32f 100644 --- a/packages/tables/src/Concerns/CanGroupRecords.php +++ b/packages/tables/src/Concerns/CanGroupRecords.php @@ -53,6 +53,10 @@ trait CanGroupRecords return $query; } - return $group->orderQuery($query, $this->getTableGroupingDirection() ?? 'asc'); + $group->applyEagerLoading($query); + + $group->orderQuery($query, $this->getTableGroupingDirection() ?? 'asc'); + + return $query; } } diff --git a/packages/tables/src/Grouping/Group.php b/packages/tables/src/Grouping/Group.php index 6449b24e83..21f0088df0 100644 --- a/packages/tables/src/Grouping/Group.php +++ b/packages/tables/src/Grouping/Group.php @@ -454,4 +454,19 @@ class Group extends Component { return $this->isDate; } + + public function applyEagerLoading(EloquentBuilder $query): EloquentBuilder + { + if (! $this->getRelationship($query->getModel())) { + return $query; + } + + $relationshipName = $this->getRelationshipName(); + + if (array_key_exists($relationshipName, $query->getEagerLoads())) { + return $query; + } + + return $query->with([$relationshipName]); + } }