Laravel 查询 多个or或者and条件

Laravel 进行where 多个or和and的条件查询

摘要:在查询数据的时候经常会遇到相对复杂一些的查询条件,甚至是嵌套很多层的情况。Laravel框架的模型操作也是比较灵活,当我们遇到多个条件or,多个条件and等组合条件时,如何操作?

查询条件:(A and B)OR(C and D):

$builder->where(function ($query) {
          
   
                    $query->where(function ($query) {
          
   
                        $query->where(id, 0)->where(create_time, <, strtotime(-2 day));
                    })->orWhere(function ($query) {
          
   
                        $query->where(id, >, 0)->where(create_time, <, strtotime(-3 day));
                    });

可以以此类推:(A or B)AND(C or D):

$builder->where(function ($query) {
          
   
                    $query->where(function ($query) {
          
   
                        $query->where(id, 0)->orWhere(create_time, <, strtotime(-2 day));
                    })->where(function ($query) {
          
   
                        $query->where(id, >, 0)->orWhere(create_time, <, strtotime(-3 day));
                    });
经验分享 程序员 微信小程序 职场和发展