2015-01-21 4 views
0

У меня есть форма Symfony2, которая возвращает представленные данные как модель Doctrine2 с заполненными полями. Я пытаюсь затем извлечь все сущности из базы данных, которые соответствуют значениям, установленным в модели.Извлечение результатов доктрины на основе экземпляра модели

Обычно я использовал функцию findBy в репозитории доктрины. Однако это ожидает ассоциативный массив, содержащий критерии поиска.

Есть ли другая функция, похожая на findBy, где я могу пройти заселенную модель в качестве критерия поиска?

+1

Неа. Достаточно легко добавить пользовательские запросы в репозиторий. – Cerad

ответ

0

Вам нужно будет написать own repository method, чтобы обработать что-то в этом роде. Вы можете передать ему объект, но вам нужно будет лишить детали, которые вам нужны для вашего запроса.

что-то вроде:

public function findBySomeOtherCriteria(AcmeBundle\Entity\Trythis $entity) 
{ 
     $param1 = $entity->getParam1(); 
     $param2 = $entity->getParam2(); 

     $query = $this->getEntityManager()->createQuery( 
      'select a 
      from AcmeBundle\Entity\Adifferentone a 
      where a.param1 = :param1 
      and a.param2 = :param2 
      ')->setParameters(array('param1' => $param1, 'param2' => $param2); 
    return $query->getResult(); 
} 
Смежные вопросы