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

来源:-

qq_西汉_0

2018-04-12 13:05

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

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

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

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

写回答 关注

1回答

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

    可以这样:

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

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

    你可以试一下

    g22634...

    Db::name('user')->where('month' , 'like' , $month) ->select()

    2018-05-05 20:26:52

    共 1 条回复 >

快速入门ThinkPHP 5.0 --模型篇

Thinkphp5.0已发布多时,想了解thinkphp 5.0的新特性吗?老司机点准时出发

27110 学习 · 100 问题

查看课程

相似问题