Php 如何在条令查询中为同一密钥设置多个参数

Php 如何在条令查询中为同一密钥设置多个参数,php,symfony4,doctrine-query,Php,Symfony4,Doctrine Query,我正在设置一个求职板的高级搜索,我需要按合同查找简历,因为我知道一份简历可以有多份合同 我有一个表单,您可以在其中选择要查找的合同类型,它是一个ChoiceType::class,具有multiple=>true 在我的存储库中: public function findByContract(array $contract) { return $this->createQueryBuilder('r') ->andWhere('r.contract = :co

我正在设置一个求职板的高级搜索,我需要按合同查找简历,因为我知道一份简历可以有多份合同

我有一个表单,您可以在其中选择要查找的合同类型,它是一个ChoiceType::class,具有multiple=>true

在我的存储库中:

public function findByContract(array $contract)
{
    return $this->createQueryBuilder('r')
        ->andWhere('r.contract = :con')
        ->setParameter('con', array($contract))
        ->getQuery()
        ->getResult()
    ;
}
在我的控制器中:

public function index(Request $request, ResumeRepository $resumeRepository)
{
    $formSearch = $this->createForm(ResumeSearchFormType::class);
    $formSearch->handleRequest($request);

    if ($formSearch->isSubmitted() && $formSearch->isValid()) {
        $data = $formSearch->getData();

        $r = $resumeRepository->findByContract($data->getContract());
        var_dump($r); die;
此var_转储返回一个空数组

我不知道如何为同一个键设置多个参数使用:


在phpMyAdmin的我的简历表中,合同列如下所示:

在探查器中,可运行查询是:

SELECT r0_.id AS id_0, r0_.city AS city_1, r0_.postal_code AS postal_code_2, r0_.salary AS salary_3, r0_.contract AS contract_4, r0_.experience AS experience_5, r0_.training AS training_6, r0_.motivations AS motivations_7, r0_.ext AS ext_8, r0_.name AS name_9 FROM resume r0_ WHERE r0_.contract IN ('CDI', 'CDD');

因此,有许多简历中r.contract==CDD或r.contract==CDI,但查询仍然返回一个空数组

Hi!谢谢你的回答,现在我有几个参数设置!但是我的var_dump仍然返回一个空数组。你知道为什么吗?你能发布var_dump$contract结果吗?数组大小=2 0=>string'CDI'length=3 1=>string'CDD'length=3确定,如果r.contract==CDD或r.contract==CDI,你将得到一个条目。如果没有,那么您可以在symfony profiler中检查查询字符串。
SELECT r0_.id AS id_0, r0_.city AS city_1, r0_.postal_code AS postal_code_2, r0_.salary AS salary_3, r0_.contract AS contract_4, r0_.experience AS experience_5, r0_.training AS training_6, r0_.motivations AS motivations_7, r0_.ext AS ext_8, r0_.name AS name_9 FROM resume r0_ WHERE r0_.contract IN ('CDI', 'CDD');