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'));
});