学说查询构建器中的构建器不起作用



我有一个称为 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) 
                         ); 

希望此帮助

相关内容

  • 没有找到相关文章

最新更新