Yii 如何组织搜索类型?

问题描述 投票:0回答:1

如何修改默认搜索,以便他可以查看类似 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');
php yii
1个回答
0
投票

问题是第三个参数,它不应该是真的,因为这会转义任何%符号,你需要这样做:

$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 文档

© www.soinside.com 2019 - 2024. All rights reserved.