From 6657b718148e5dea2fc60a1736227fdbae888cc5 Mon Sep 17 00:00:00 2001 From: Steve Nebes Date: Wed, 25 Sep 2019 09:44:17 -0500 Subject: [PATCH] Added built-in array support for entityfilter --- Event/Subscriber/DoctrineMongodbSubscriber.php | 4 ++++ Event/Subscriber/DoctrineORMSubscriber.php | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/Event/Subscriber/DoctrineMongodbSubscriber.php b/Event/Subscriber/DoctrineMongodbSubscriber.php index 4e3b2be..2776582 100644 --- a/Event/Subscriber/DoctrineMongodbSubscriber.php +++ b/Event/Subscriber/DoctrineMongodbSubscriber.php @@ -305,6 +305,10 @@ public function filterDocument(GetFilterConditionEvent $event) $expr = $event->getFilterQuery()->getExpr(); $values = $event->getValues(); + if (is_array($values['value']) && count($values['value']) > 0 && is_object($values['value'][0])) { + $values['value'] = new ArrayCollection($values['value']); + } + if (is_object($values['value'])) { $field = $event->getField(); $multipleLevels = (false !== strpos($field, '.')); diff --git a/Event/Subscriber/DoctrineORMSubscriber.php b/Event/Subscriber/DoctrineORMSubscriber.php index b8cc6e8..101c29b 100644 --- a/Event/Subscriber/DoctrineORMSubscriber.php +++ b/Event/Subscriber/DoctrineORMSubscriber.php @@ -2,6 +2,7 @@ namespace Lexik\Bundle\FormFilterBundle\Event\Subscriber; +use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\Collection; use Doctrine\DBAL\Connection; use Doctrine\DBAL\Types\Type; @@ -69,6 +70,10 @@ public function filterEntity(GetFilterConditionEvent $event) $expr = $event->getFilterQuery()->getExpr(); $values = $event->getValues(); + if (is_array($values['value']) && count($values['value']) > 0 && is_object($values['value'][0])) { + $values['value'] = new ArrayCollection($values['value']); + } + if (is_object($values['value'])) { $paramName = $this->generateParameterName($event->getField()); $filterField = $event->getField();