为了账号安全,请及时绑定邮箱和手机立即绑定

前端传过来的字段可有可无,如何灵活的拼接查询语句

        大佬,看你的TP5视频有一段时间了,最近在书写实际项目时有碰到这样的问题:

                前端传month值时查询对应月份的事件,不传month值时查询所有的事件,类似的还有年year,事件类型等等等。。。

         诸君在查询时,如何根据前端传过来的字段灵活的拼装查询语句的呢?或者说有没有whereIf(‘表对应i这段’,‘=’,$moth)的功能呢?

        求大佬以及诸君给点提示,是在不想将同一段代码复制那么多便,要是根据传参写不用的Db::name()->select();是在有点傻。。。

正在回答

1 回答

可以这样:

在查询之前先做一个判断,如果传过来的month不为空,则直接查询,如果为空则将month的值改为'%',然后再查询

if($month == null){
    $month = '%';
}
Db::name('user')->where('month' , 'like' , $month)

你可以试一下

0 回复 有任何疑惑可以回复我~
#1

g2263411

Db::name('user')->where('month' , 'like' , $month) ->select()
2018-05-05 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

前端传过来的字段可有可无,如何灵活的拼接查询语句

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信