Laravel 雄辩如何在运算符之间使用

2022-08-30 09:39:38

我试图在Eloquent和Laravel中找到一种优雅的方式来说

select * from UserTable where Age between X and Y

在Eloquent中有一个中间运算符(我找不到它)。

到目前为止,我最接近的是像这样追逐我的查询

$query->where(age, '>=', $ageFrom)
      ->where(age, '<=', $ageTo);

我还遇到了似乎有效的Raw

$query->whereRaw('age BETWEEN ' . $ageFrom . ' AND ' . $ageTo . '');

有没有一种实际的雄辩方式(不是原始的)来处理范围?


答案 1
$query->whereBetween('age', [$ageFrom, $ageTo]);

看这里: http://laravel.com/docs/4.2/queries#selects

《拉拉维尔5:https://laravel.com/docs/5.8/queries#where-clauses》仍然适用


答案 2

该方法验证列的值是否介于两个值之间:whereBetween

$users = DB::table('users')->whereBetween('votes', [1, 100])->get();

该方法验证列的值是否位于两个值之外:whereNotBetween

$users = DB::table('users')->whereNotBetween('votes', [1, 100])->get();

拉拉维尔


推荐