thinkphp多个字段用where模糊查询时出错
本文介绍了thinkphp多个字段用where模糊查询时出错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
前端
后台
thinkphp下,有两个输入内容,一个是根据时间段模糊查询,另一个是关键字模糊查询。但是很奇怪,后台的第一个where($map1)怎么也不起作用,搞不懂为什么,大神们能帮下忙吗?谢谢了!
解决方案
文档应该没哪个地方说了where是累加的吧?
where应该是设置条件, 后一个把前一个覆盖了.完全可以只用一个map数组
框架提供了I
函数,就用I
来获取值
$keyword = I("keyword", "");
$start = I("start_time", "");
$end = I("end_time", "");
$map = [
"content" => ["like", "%{$keyword}%"]
];
if($start) {
$map["add_time"][] = ["gt", $start];
}
if($end) {
$map["add_time"][] = ["lt", $end];
}
TP好久没用过了, 不概逻辑是这样子
这篇关于thinkphp多个字段用where模糊查询时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文