gpt4 book ai didi

php - Doctrine query builder IN 不工作

转载 作者:行者123 更新时间:2023-11-29 06:11:28 27 4
gpt4 key购买 nike

我有一个名为 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 数组传递给 in 函数。

试试这个:

$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)
);

希望对你有帮助

关于php - Doctrine query builder IN 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38018462/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com