问答详情
源自:-

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

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

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

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

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

提问者:qq_西汉_0 2018-04-12 13:05

个回答

  • g2263411
    2018-05-05 20:25:51

    可以这样:

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

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

    你可以试一下