适用于继承table类的控制器文件,需要精通php的开发者

功能介绍:在列表搜索时,默认的搜索方式是模糊匹配,比如我需要改成以空格为分隔进行多词语搜索

迅睿CMSTable类:搜索条件的开发教程

默认情况下会将【词语一 词语二】当成一个词语进行数据库查询搜索。

现在,我们需要将他按空格分成两个词语分别进行模糊查询,当包含其中某一个词语时就表示搜索成功。


用法说明:


1、打开内容模块列表控制器

/dayrui/App/Demo/Controllers/Admin/Home.php


2、为主题字段加上自定义搜索函数

init['field']['title']['myfunc'] = 'mytitlewhere'; // 这是我增加的
      $this->_Admin_List();
   }



3、打开文件config/costom.php中定义这个函数:mytitlewhere

function mytitlewhere($param) {

    $rt = [];
    $arr = explode(' ', $param['keyword']);
    if ($arr) {
        foreach ($arr as $t) {
            $rt[] = $param['field'].' LIKE "%'.$t.'%"';
        }
    }

    return $rt ? implode(' OR ', $rt) : '';
}

这个函是将字符拆分成多个词语进行OR匹配


debug可以看出sql语句

迅睿CMSTable类:搜索条件的开发教程

在我们使用迅睿CMS时候出现Table类:搜索条件的开发问题,以上就是XunRuiCMSTable类:搜索条件的开发解决的教程

点赞(0) 收藏(0)

评论列表

立即
投稿

微信客服

微信扫一扫

返回
顶部