Ваш запрос эквивалентен на 100%, но он бесполезен.
DB::table('kreditanfragen')
->where('send_bank', 0)
->where(
function ($query) use ($berufs) {
$query->where(function ($query) use ($berufs) {
$query
->whereIn('beruf', $berufs)
->orWhere('netto', '>', 601);
})->orWhere(function ($query) use ($berufs) {
$query
->whereIn('beruf', $berufs)
->orWhere('netto1', '>', 601);
});
}
)->where('status_intern', '!=', 31)
->where('land', 'DE')
->get();
результат равен
"select * from `kreditanfragen` where `send_bank` = ? and ((`beruf` in (?, ?, ?, ?, ?) or `netto` > ?) or (`beruf` in (?, ?, ?, ?, ?) or `netto1` > ?)) and `status_intern` != ? and `land` = ?"
Правильный способ сделать тот же запрос
DB::table('kreditanfragen')
->where('send_bank', 0)
->where(
function ($query) use ($berufs) {
$query
->whereIn('beruf', $berufs)
->where(function ($query) {
$query
->where('netto', '>', 601)
->orWhere('netto1', '>', 601);
});
})->where('status_intern', '!=', 31)
->where('land', 'DE')
->get();
результат
"select * from `kreditanfragen` where `send_bank` = ? and (`beruf` in (?, ?, ?, ?, ?) and (`netto` > ? or `netto1` > ?)) and `status_intern` != ? and `land` = ?"