,我得到了
我有一个称为 Continent
的实体。大陆有国家:
/**
* @ManyToMany(targetEntity="Country")
* @JoinTable(name="cont_countries",
* joinColumns={@JoinColumn(name="cont_id", referencedColumnName="id")},
* inverseJoinColumns={@JoinColumn(name="country_id", referencedColumnName="id", unique=true)}
* )
* @var Country[]
**/
private $countries;
我想找到,哪个大洲属于一个国家。(例如,俄罗斯也属于欧洲,也属于亚洲)
我已经尝试过:
$qb->andWhere(':country IN (t.countries)')
->setParameter('country', $country)
// possibly more conditions after that
,但由于某种原因,由于IN
语句
Uncaught exception
您需要将一系列国家ID传递给功能。
尝试以下操作:
$qb->andWhere('t.countries IN (:country)')
->setParameter('country', $country)
而不是:
$qb->andWhere(':country IN (t.countries)')
->setParameter('country',
// Extract id from a collections
array_map('current', $country)
);
希望此帮助