thinkphp5使用orm当中like查询, 如果为多个查询|分隔,会有一些小问题。
问题详述
故障代码
$key = '123456'; $data['member_mobile|member_id|out_trade_no'] = ['like','%'.$key.'%']; $this->moneyrechargelog_model->where($data)->select();
本人使用like查询, 分别为手机号,id,订单号.
其中手机号varchar,id是int,订单号为char.
打印出语句
其中member_id查询的为0
SELECT * FROM `qlqw_money_recharge_log` WHERE ( `member_mobile` LIKE '%123456%' OR `member_id` LIKE 0 OR `out_trade_no` LIKE '%123456%' )
解决方法
int类型加esc下面的单引符号.
$data['member_mobile|`member_id`|out_trade_no'] = ['like','%'.$key.'%'];