关于fastadmin中SelectPage的一些见解
时间:2023年07月02日
/来源:网络
/编辑:佚名
一、普通筛选
1.筛选莫个字段等于多少
js复制代码data-params='{"custom[status]":"normal","custom[type]":"1"}'
2.筛选莫个字段多条判断
js复制代码data-params='{"custom[status][0]":"2","custom[status][1]":"1"}'
二、联动筛选
注:需要在自己对应的js里面加在api里面bindevent方法里面
1.筛选当下面数据的值需要根据上面筛选的值做判断时
js复制代码$("#c-subject_child_id").data("params", function (obj) {
return {custom: {pid : $("#c-subject_priend_id").val(),status : 1}};
});
1.如果有一些很难的条件建议写sql,这里需要自己更改代码 (有其它更好方法的大佬请不要喷我嘿嘿)
第一步:在 \app\common\controller\Backend 控制器中 selectpage方法中修改
这是源代码:
js复制代码if ($custom && is_array($custom)) {
foreach ($custom as $k => $v) {
if (is_array($v) && 2 == count($v)) {
$query->where($k, trim($v[0]), $v[1]);
}else{
$query->where($k, '=', $v);
}
}
}
这是我改的代码:
bash复制代码if ($custom && is_array($custom)) {
foreach ($custom as $k => $v) {
if (is_array($v) && 2 == count($v)) {
$query->where($k, trim($v[0]), $v[1]);
} elseif($k == 'where') { //如果前端传where的话,就写原生sql
$query->where($v);
}else{
$query->where($k, '=', $v);
}
}
}
然后在对应的js中直接写原生sql
javascript复制代码$("#c-school_ids").data("params", function (obj) {
var subject_id = $("#c-subject_priend_id").val();
if(subject_id){
return {custom : { where :`FIND_IN_SET(${subject_id},subject_ids) AND status = 1`}};
}
});
以上应该就能实现很多情况的筛选的,还有一个自定义显示数据格式,就需要自己去
fastadmin文档查看了
https://doc.fastadmin.net/doc/178.html
1.筛选莫个字段等于多少
js复制代码data-params='{"custom[status]":"normal","custom[type]":"1"}'
2.筛选莫个字段多条判断
js复制代码data-params='{"custom[status][0]":"2","custom[status][1]":"1"}'
二、联动筛选
注:需要在自己对应的js里面加在api里面bindevent方法里面
1.筛选当下面数据的值需要根据上面筛选的值做判断时
js复制代码$("#c-subject_child_id").data("params", function (obj) {
return {custom: {pid : $("#c-subject_priend_id").val(),status : 1}};
});
1.如果有一些很难的条件建议写sql,这里需要自己更改代码 (有其它更好方法的大佬请不要喷我嘿嘿)
第一步:在 \app\common\controller\Backend 控制器中 selectpage方法中修改
这是源代码:
js复制代码if ($custom && is_array($custom)) {
foreach ($custom as $k => $v) {
if (is_array($v) && 2 == count($v)) {
$query->where($k, trim($v[0]), $v[1]);
}else{
$query->where($k, '=', $v);
}
}
}
这是我改的代码:
bash复制代码if ($custom && is_array($custom)) {
foreach ($custom as $k => $v) {
if (is_array($v) && 2 == count($v)) {
$query->where($k, trim($v[0]), $v[1]);
} elseif($k == 'where') { //如果前端传where的话,就写原生sql
$query->where($v);
}else{
$query->where($k, '=', $v);
}
}
}
然后在对应的js中直接写原生sql
javascript复制代码$("#c-school_ids").data("params", function (obj) {
var subject_id = $("#c-subject_priend_id").val();
if(subject_id){
return {custom : { where :`FIND_IN_SET(${subject_id},subject_ids) AND status = 1`}};
}
});
以上应该就能实现很多情况的筛选的,还有一个自定义显示数据格式,就需要自己去
fastadmin文档查看了
https://doc.fastadmin.net/doc/178.html
新闻资讯 更多
- 【建站知识】查询nginx日志状态码大于400的请求并打印整行04-03
- 【建站知识】Python中的logger和handler到底是个什么?04-03
- 【建站知识】python3拉勾网爬虫之(您操作太频繁,请稍后访问)04-03
- 【建站知识】xpath 获取meta里的keywords及description的方法04-03
- 【建站知识】python向上取整以50为界04-03
- 【建站知识】scrapy xpath遇见乱码解决04-03
- 【建站知识】scrapy爬取后中文乱码,解决word转为html 时cp1252编码问题04-03
- 【建站知识】scrapy采集—爬取中文乱码,gb2312转为utf-804-03