在 laravel查询 数据的时候经常会遇到相对复杂一些的查询条件,甚至是嵌套很多层的情况。Laravel框架的模型操作也是比较灵活,当我们遇到多个条件or,多个条件and等组合条件时,如何操作?
查询条件:(A and B)OR(C and D):
$test->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'));
})->get();
可以以此类推:(A or B)AND(C or D):
$test->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'));
})->get();