1

我正在使用 cakePHP 2.3 构建带有餐厅数据库的应用程序。现在,我之前的人已将餐厅详细信息保存在一个名为“位置”的表中,该表有一列中有多个值的美食,例如 1 个位置可以有中国、印度、韩国等。

如果该列的值存储为“north indian,chinese,mughlai”,我希望不相邻的菜系也应该是可搜索的......就像我在发布的数据中收到“'north indian''mughlai'”,它应该即使中间有中文,仍然显示。基本上是否有命令从列中的字符串中选择多个部分值?

请帮忙!

4

2 回答 2

0

您需要使用 LIKE 作为比较运算符为每个美食创建一个条件数组条目。这建立在 Hanky Panky 的示例之上

$conditions = array();

foreach (explode(",", $search) as $keyword)
{
  $keyword=trim($keyword);
  $conditions[] = "columnname LIKE '%" . $keyword . "%'";
}

那么你的发现是:

$this->Location->find('all', array('conditions' => $conditions));
于 2013-09-27T18:12:16.490 回答
0
<?php
$saved="north indian,chinese,mughlai";

$search="north indian, mughlai";

foreach(explode(",",$search) as $keyword)
{
    $keyword=trim($keyword);
    if(stristr($saved,$keyword)!==false)
    {
        echo "Match Found for $keyword <br>";
    }
}
?>
于 2013-09-27T15:34:11.920 回答