Допустим, есть Entity со связанным другим Entity по принципу один-ко-многим. Как быстро отфильтровать список связанных записей по заданному условию? Как правило Doctine возвращает связанные сущности один-ко-многим в виде объекта \Doctrine\Common\Collections\Collection, который содержит методы для фильтрации и проверки наличия заданных условий. Например:
if(false === $Invoice->getNotificationData()->exists(function($key, $element) use ($hash) {
return $hash === $element->getHash();
}) )
Таким образом легко и просто понять, содержит ли сущность связанный объект NotificationData со значением поля hash равным $hash. Аналогичным образом работает и метод filter.