From e2dbd3d873c38d061e05bd42e3aae0d70f6be801 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Wed, 19 Jul 2023 00:01:42 +0200 Subject: [PATCH] Fixed bug, that prevented all related history entries for an element As the query param had the same name for each iteration, it got overwritten every time --- src/DataTables/LogDataTable.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/DataTables/LogDataTable.php b/src/DataTables/LogDataTable.php index 10a9bd18..c00b7446 100644 --- a/src/DataTables/LogDataTable.php +++ b/src/DataTables/LogDataTable.php @@ -293,9 +293,13 @@ class LogDataTable implements DataTableTypeInterface $target_type = LogTargetType::fromElementClass($element); $target_id = $element->getID(); - $builder->orWhere('log.target_type = :filter_target_type AND log.target_id = :filter_target_id'); - $builder->setParameter('filter_target_type', $target_type); - $builder->setParameter('filter_target_id', $target_id); + //We have to create unique parameter names for each element + $target_type_var = 'filter_target_type_' . uniqid('', false); + $target_id_var = 'filter_target_id_' . uniqid('', false); + + $builder->orWhere("log.target_type = :$target_type_var AND log.target_id = :$target_id_var"); + $builder->setParameter($target_type_var, $target_type); + $builder->setParameter($target_id_var, $target_id); } } }