В настоящее время я пытаюсь построить запрос с Doctrine2 QueryBuilder. Тем не менее, я застреваю при попытке сделать следующее:Как создать запрос с QueryBuilder?
У меня есть объект под названием «Клиент». Этот объект стоит в ManyToMany-Relation для «User». «Пользователь» снова стоит в многопользовательском отношении к номеру телефона.
Так что это довольно много:
Customer <- @ManyToMany -> User <- @ManyToMany -> PhoneNumber
Теперь я пытаюсь выбрать клиента, основанный на PhoneNumber. Так что сейчас у меня есть следующие:
$qb = $this->getEntityManager()->createQueryBuilder();
$qb
->select('c')
->from('AppBundle:Customer', 'c')
->join('AppBundle:User', 'u')
->join('AppBundle:PhoneNumber', 'u');
проблема сейчас в том, что я не знаю о том, как построить где-раздел запроса. Причина в том, что к клиенту может быть несколько пользователей и несколько телефонных номеров. У вас есть идея о том, как действовать?
Ни одно из этих отношений m: n не кажется правильным. Один номер телефона может принадлежать нескольким пользователям? Один пользователь может быть несколькими клиентами и наоборот? – marekful
вы задаете один и тот же псевдоним для 'User' &' PhoneNumber', как говорит @MarcellFulop, у вас неверные отношения, как у нескольких пользователей может быть одинаковый номер телефона? – ghanbari
Что в этом плохого? Например, если есть два брата, которые все еще живут дома со своими родителями - тогда номер телефона, очевидно, будет таким же. Я заметил проблему с псевдонимами и исправил ее, но у меня все еще есть такая же проблема. – chrisp