Ищите несколько аргументов с Доктриной - PullRequest
0 голосов
/ 27 января 2012

Я новичок в Symfony2, и у меня возникла проблема с правильным использованием DoctrineЯ создал сущность для существующей базы данных и могу использовать Doctrine для поиска в базе данных с помощью функций findById, findByAuthor и т. Д.Моим следующим шагом было создание формы HTML, где пользователь может ввести несколько аргументов.Моя цель состоит в том, чтобы Doctrine теперь осуществляло поиск в базе данных всех сущностей, которые соответствуют всем / хотя бы одному из аргументов.Я надеялся, что смогу сделать это, используя сущность с введенными данными, но не знаю как.

Надеюсь, вы понимаете, о чем я, и можете мне помочь:)

Привет

Ответы [ 2 ]

0 голосов
/ 30 января 2012

Для простых условий вы можете использовать метод findBy. С $em менеджером сущности

$em->getRepository('YourBundle:YourEntity')->findBy(array(
    'id' => $id, 
    'author' => $author));

Подробнее с документацией Учения

Для более сложных условий вам придется использовать DQL

0 голосов
/ 27 января 2012

Вам нужно будет сделать это с помощью пользовательских запросов.Это делается, в основном, через DQL .

Что касается того, что это кажется несущественным, вам нужно будет создать собственный класс собственного репозитория , если он еще не сделан, чтобы поместить запрос,Это похоже на накладные расходы.Я также прошел через эту фазу поиска альтернатив.Но, в конце концов, все довольно просто.

При запросе хранилища для типа сущности, Doctrine просто предоставит вам экземпляр вашего класса, и он станет прозрачным.

...