From 146533af300817c2865c51af922e70de6478462a Mon Sep 17 00:00:00 2001 From: Simon Vieille Date: Mon, 26 Apr 2021 11:28:47 +0200 Subject: [PATCH] backports murph-skeleton --- core/Repository/RepositoryQuery.php | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/core/Repository/RepositoryQuery.php b/core/Repository/RepositoryQuery.php index 05a4a86..8022548 100644 --- a/core/Repository/RepositoryQuery.php +++ b/core/Repository/RepositoryQuery.php @@ -94,4 +94,29 @@ abstract class RepositoryQuery return $data; } + + protected function filterHandler(string $name, $value) + { + } + + public function useFilters(array $filters) + { + foreach ($filters as $name => $value) { + if (null === $value) { + continue; + } + + if (is_int($value) || is_bool($value)) { + $this->andWhere('.'.$name.' = :'.$name); + $this->setParameter(':'.$name, $value); + } elseif (is_string($value)) { + $this->andWhere('.'.$name.' LIKE :'.$name); + $this->setParameter(':'.$name, '%'.$value.'%'); + } else { + $this->filterHandler($name, $value); + } + } + + return $this; + } }