return User::orWhere(function (Builder $query) {
return $query->where('name', 'John')->where('city', 'Berlin');
})->orWhere(function (Builder $query) {
return $query->where('name', 'Jack')->where('country', 'USA');
})->get();
(编辑)如果你想发送参数;
$city = 'Berlin';
$country = 'USA';
return User::orWhere(function (Builder $query) use ($city) {
return $query->where('name', 'John')->where('city', $city);
})->orWhere(function (Builder $query) use ($country) {
return $query->where('name', 'Jack')->where('country', $country);
})->get();
如果要动态生成;
public function index()
{
$parameters = [
[
'name' => 'John',
'city' => 'Berlin',
],
[
'name' => 'Jack',
'country' => 'USA',
]
];
$query = User::query();
foreach ($parameters as $item) {
$query->orWhere(function (Builder $query) use ($item) {
foreach ($item as $key => $value) {
$query->where($key, $value);
}
});
}
return $query->get();
}