andWhere('.vendor = :vendor') ->setParameter('vendor', $value) ; } elseif ('amountTtcRange' === $name) { if (null !== $value['min']) { $this ->andWhere('.amountTtc >= :amountTtcMin') ->setParameter('amountTtcMin', $value['min']) ; } if (null !== $value['max']) { $this ->andWhere('.amountTtc <= :amountTtcMax') ->setParameter('amountTtcMax', $value['max']) ; } } elseif ('amountHtRange' === $name) { if (null !== $value['min']) { $this ->andWhere('.amountHt >= :amountHtMin') ->setParameter('amountHtMin', $value['min']) ; } if (null !== $value['max']) { $this ->andWhere('.amountHt <= :amountHtMax') ->setParameter('amountHtMax', $value['max']) ; } } elseif ('dateRange' === $name) { if (null !== $value['min']) { $this ->andWhere('.date >= :dateMin') ->setParameter('dateMin', $value['min']) ; } if (null !== $value['max']) { $value['max']->add(new \DateInterval('PT'.(3600 * 24).'S')); $this ->andWhere('.date <= :dateMax') ->setParameter('dateMax', $value['max']) ; } } } }