在具有多个值的字符串中搜索Symfony 3

时间:2018-07-03 12:09:56

标签: php mysql doctrine repository symfony-3.3

我有一张表格,其中包含一个国家的所有邮政编码。 有时邮政编码是单个值,如(01090),有时则是邮政编码的多个值(75000-75001-75002 ...)。列类型是字符串。

        $em = $this->getDoctrine()->getManager();
        $villeCp = $em->getRepository('AppBundle:VillesFranceFree')->findBy(array('villeCodePostal' => $cp)) ;

当我对邮政编码等于01090的城市进行研究时,它可以工作,并且我得到了正确的结果,但是当我尝试查找邮政编码为75000的城市时,它什么也没有返回,因为在表格中该城市有多个代码(75000或75001或75002) 如果代码为多个,我该如何搜索!

1 个答案:

答案 0 :(得分:3)

也许使用like的查询可以做到这一点。

$query = $em->createQuery(
    'SELECT villeCodePostal
    FROM App\Entity\VillesFranceFree v
    WHERE v.villeCodePostal LIKE :cp'
)->setParameter('cp', '%'.$cp.'%');

$villeCp = $query->execute();