如何自定义selectpage筛选条件,我的需求是这样的:
我要取的是category表中的type字段值为huayu,video,luya,seafish的几个分类,用自带的custom[type]只能这样写:data-params='{"custom[type]":"huayu"}',取的只是一个type下的几个分类和我的目标差太多。
看了一下Backend.php中protected function selectpage()代码,有这样一段:
if ($custom && is_array($custom)) { foreach ($custom as $k => $v) { $query->where($k, '=', $v); } }
意思是取custom的值(custom的值是从页面上传过来的,给input添加data-params属性),生成where查询条件,生成的是等于的查询条件,所以我就想既然能等于就可以改成其它条件。于是,自定义一个变量:
//自定义wherein搜索$wherein = (array) $this->request->request("wherein/a");
仿照custom的写法,在custom代码后面加上自己的代码,如下:
这是原来的 if ($custom && is_array($custom)) { foreach ($custom as $k => $v) { $query->where($k, '=', $v); } }这是我加的 if ($wherein && is_array($wherein)) { foreach ($wherein as $k => $v) { $query->where($k, 'in', $v); } }
然后后台页面上代码如下:
<input id="c-category_id" data-rule="required" data-source="category/selectpage" data-params='{"wherein[type]":"huayu,video,luya,seafish"}' class="form-control selectpage" name="row[category_id]" type="text" value="{$row.category_id}">
结束,完成!
希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 iCMS, Fastadmin, ClassCMS, LeCMS, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。