Doctrine2 и магические искатели с большим количеством полей не работают? - PullRequest
2 голосов
/ 08 октября 2011

Doctrine2 позволяет выполнять запросы, используя магические искатели, основанные на именах полей.Если у вас есть сущность с именем User, вы должны вызывать $repo->findOneByUsernameAndPassword(), предполагая, что у сущности есть поля имени пользователя и пароля.

Как я могу передать параметры магическим искателям?Как запросить, когда поле, которое на самом деле является отношением?

Я пытался:

$repo->findOneByUsernameAndPassword('Jhon', 'password')

и

$repo->findOneByUsernameAndPassword(array('Jhon', 'password'))

но яполучаю сообщение об ошибке:

Объект «Пользователь» не имеет поля «usernameAndPassword».Поэтому вы не можете вызвать 'findOneByUsernameAndPassword'

1 Ответ

4 голосов
/ 09 октября 2011

Я не смог найти никаких ссылок на этот синтаксис с Doctrine 2, хотя это было возможно с Doctrine 1. Я сам использовал его тогда и помню, что у меня возникли проблемы с его работой. Теперь вы бы предпочли сделать это:

$repo->findOneBy(array('username' => 'Jhon', 'password' => 'password'));

Вы можете получить больше информации в этом § документации Doctrine 2

...