如何修改默认搜索,以便他可以查看类似 1,2,3 行的内容,例如输入 2 或 2,3 或 1,3 ?即使在那时,也习惯了 idelano podskazadi 如何在 chekbokslista 的基础上进行搜索。好吧,输入 ,根据他的搜索选择项目和 1,3。
$ criteria-> addSearchCondition ('m_complect', $ this-> m_complect, true, 'LIKE');
无法找到 1,3 而不是 1,6 的值
需要表格查询
来自
tbl_motor
其中 m_complect
就像 '%1%6% ';
他让
tbl_motor
其中 m_complect
就像 '%1,6%';
如果是这样,它不会正确改变
$ criteria-> addSearchCondition ('m_complect', str_replace (",", "%", $ this-> m_complect), true, 'LIKE');
问题是第三个参数,它不应该是真的,因为这会转义任何%符号,你需要这样做:
$mComplectValue = sprintf("%%%s%%", str_replace (",", "%", $this->m_complect));
$criteria->addSearchCondition('m_complect', $mComplectValue, false);
我使用
sprintf
来避免任何 SQL 注入。但你也可以这样做:
$mComplectValue = '%' . str_replace (",", "%", $this->m_complect) . '%';
$criteria->addSearchCondition('m_complect', $mComplectValue, false);
有关更多信息,请查看 CDBCriteria 文档。