From 201f3cdb1a1344d1c44d841ef87acd512f1a2d21 Mon Sep 17 00:00:00 2001 From: JiaJia Ji Date: Wed, 24 Jul 2024 10:41:05 +0200 Subject: [PATCH] reduce queries in tags get children by id --- src/Controller/Admin/TagsController.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/Controller/Admin/TagsController.php b/src/Controller/Admin/TagsController.php index 277e7a1204..7fa2705a57 100644 --- a/src/Controller/Admin/TagsController.php +++ b/src/Controller/Admin/TagsController.php @@ -154,12 +154,14 @@ public function treeGetChildrenByIdAction(Request $request): JsonResponse protected function convertTagToArray(Tag $tag, bool $showSelection, array $assignedTagIds, bool $loadChildren = false, bool $recursiveChildren = false): array { + $hasChildren = $tag->hasChildren(); + $tagArray = [ 'id' => $tag->getId(), 'text' => $tag->getName(), 'path' => $tag->getNamePath(), - 'expandable' => $tag->hasChildren(), - 'leaf' => !$tag->hasChildren(), + 'expandable' => $hasChildren, + 'leaf' => !$hasChildren, 'iconCls' => 'pimcore_icon_element_tags', 'qtipCfg' => [ 'title' => 'ID: ' . $tag->getId(), @@ -170,7 +172,7 @@ protected function convertTagToArray(Tag $tag, bool $showSelection, array $assig $tagArray['checked'] = isset($assignedTagIds[$tag->getId()]); } - if ($loadChildren) { + if ($hasChildren && $loadChildren) { $children = $tag->getChildren(); $loadChildren = $recursiveChildren; foreach ($children as $child) {