findAll(); } $qb = $this->createQueryBuilder('c'); $qb ->select('c') ->where($qb->expr()->like('c.name', ':prefix')) ->setParameter(':prefix', $prefix . '%'); return $qb->getQuery()->getResult(Query::HYDRATE_OBJECT); } public function saveSystemConfiguration(SystemConfiguration $model) { $em = $this->getEntityManager(); $em->beginTransaction(); try { foreach ($model->getConfiguration() as $configuration) { $entity = $this->findOneBy(['name' => $configuration->getName()]); $value = $configuration->getValue(); if (null === $value && null !== $entity) { $em->remove($entity); continue; } if (null === $entity) { $entity = new Configuration(); $entity->setName($configuration->getName()); } $entity->setValue($value); $em->persist($entity); } $em->flush(); $em->commit(); } catch (ORMException $ex) { $em->rollback(); throw $ex; } } }