且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

thinkphp多个字段用where模糊查询时出错

更新时间:2022-12-11 21:58:35

文档应该没哪个地方说了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好久没用过了, 不概逻辑是这样子