我有两个相关的实体,我需要一个查询来检查 entityOne 是否与 entityTwo 有两个不同的关系(作为 diff 字段的额外列)。
一个简单的“WHERE entityTwo.diff_field = 1 AND entityTwo.diff_field = 2”不起作用。
我怎样才能做到这一点?
谢谢
更新:
$query = $this->createQueryBuilder('one');
$query->addSelect('two')->leftJoin('one.two', 'two');
$query->where('two.id = :a')->setParameter('a',1);
$query->andWhere('two.id = :b')->setParameter('b',2);
实体一
class EntityOne {
/**
* @ORM\Id
* @ORM\Column(type="integer", nullable=false);
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\OneToMany(targetEntity="EntityTwo", mappedBy="one")
*/
protected $two;
}
实体二
class EntityTwo {
/**
* @ORM\Id
* @ORM\Column(type="integer", nullable=false);
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\ManyToMany(targetEntity="EntityOne", inversedBy="two", cascade={"persist"})
* @ORM\JoinTable(name="one_two_xref")
*/
protected $one;
}