Doctrine2でいくつかのエンティティを検索しているときに、問題が発生しました。
私はエンティティを持っています人々は「OneToMany」関係で別のエンティティの電子メールに参加しました:
<?php
class People
{
// ...
/**
* @ORM\OneToMany(targetEntity="Email", mappedBy="people")
*/
protected $emails;
// ...
}
class Email
{
// ...
/**
* @ORM\ManyToOne(targetEntity="People", inversedBy="emails")
* @ORM\JoinColumn(name="id", referencedColumnName="id")
*/
protected $people;
}
私のPeopleRepositoryでは、次のようなことをしようとしています。
$queryBuilder = $this->_em->createQueryBuilder()
->select('p')
->from('MyBundle:People', 'p')
->leftJoin('p.emails', 'e')
->where('p.name LIKE :name')
->andWhere('p.firstName LIKE :firstName')
->andWhere('e.email LIKE :email')
->setParameter('name', '%'.$name.'%')
->setParameter('firstName', '%'.$firstName.'%')
->setParameter('email', '%'.$email.'%');
しかし、電子メールの状態は解釈されていないようです。リンク先のEメールエンティティからのEメール属性に対応するPeopleエンティティで応答を取得したいと思います。
私の言うことが十分に明確かどうかはわかりません。
しかし、誰かが私の問題を理解した場合、私がどのようにできるか知っていますか?
ありがとうございました :)