diff --git a/src/Service/SearchIndex/IndexService/ElementTypeAdapter/DataObjectTypeAdapter.php b/src/Service/SearchIndex/IndexService/ElementTypeAdapter/DataObjectTypeAdapter.php index cfd00dfc..fc585a39 100644 --- a/src/Service/SearchIndex/IndexService/ElementTypeAdapter/DataObjectTypeAdapter.php +++ b/src/Service/SearchIndex/IndexService/ElementTypeAdapter/DataObjectTypeAdapter.php @@ -105,8 +105,12 @@ public function getRelatedItemsOnUpdateQuery( return null; } - if (!$element instanceof Concrete || !$element->getClass()->getAllowInherit()) { - return $this->getRelatedItemsQueryBuilder($element, $operation, $operationTime, $includeElement); + if ( + ($operation === IndexQueueOperation::DELETE->value) || + !$element instanceof Concrete || + !$element->getClass()->getAllowInherit() + ) { + return $this->getElementQueryBuilder($element, $operation, $operationTime, $includeElement); } if ($operation !== IndexQueueOperation::UPDATE->value) { @@ -153,7 +157,7 @@ public function getUpdateIndexDataEvent( throw new InvalidArgumentException('Element must be instance of ' . AbstractObject::class); } - private function getRelatedItemsQueryBuilder( + private function getElementQueryBuilder( AbstractObject $element, string $operation, int $operationTime, @@ -164,7 +168,7 @@ private function getRelatedItemsQueryBuilder( } $queryBuilder = $this->dbConnection->createQueryBuilder() - ->select($this->getSelectParametersByOperation($element, $operation, $operationTime)) + ->select($this->getSelectParameters($element, $operation, $operationTime)) ->setMaxResults(1); if ($operation === IndexQueueOperation::DELETE->value) { @@ -177,7 +181,7 @@ private function getRelatedItemsQueryBuilder( ->setParameter('id', $element->getId()); } - private function getSelectParametersByOperation( + private function getSelectParameters( AbstractObject $element, string $operation, int $operationTime