【问题标题】:search in a string with multiple values Symfony 3在具有多个值的字符串中搜索 Symfony 3
【发布时间】:2018-07-03 12:09:56
【问题描述】:

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

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

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

【问题讨论】:

  • 重组你的数据库怎么样?保持规范化,这样您就可以为所有邮政编码和与其城市的关系提供一张表格 - 然后很容易访问邮政编码匹配的那一行并找到相关城市
  • 感谢您的回复,但我更喜欢使用 symfony 找到解决方案,而不是更改数据库,因为它太长了

标签: php mysql doctrine repository symfony-3.3


【解决方案1】:

也许带有like 的查询可以这样做。

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

$villeCp = $query->execute();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多