我试图在 Eloquent 和 Laravel 中找到一种优雅的方式来表达
select * from UserTable where Age between X and Y
Eloquent 中是否有 Between 运算符(我找不到)。
到目前为止我得到的最接近的是像这样链接我的查询
$query->where(age, '>=', $ageFrom)
->where(age, '<=', $ageTo);
我还发现了 whereRaw 似乎有效
$query->whereRaw('age BETWEEN ' . $ageFrom . ' AND ' . $ageTo . '');
是否有一种实际的雄辩方式(不是原始的)来处理范围?
$query->whereBetween('age', [$ageFrom, $ageTo]);
对于 Laravel 10+ 仍然适用 https://laravel.com/docs/10.x/queries#additional-where-clauses
whereBetween
方法验证列的值是否在两个值之间:
$users = DB::table('users')->whereBetween('votes', [1, 100])->get();
whereNotBetween
方法验证列的值是否位于两个值之外:
$users = DB::table('users')->whereNotBetween('votes', [1, 100])->get();