我具有过滤器功能,如果我选择数字3,它还应该显示数字1和2的测试
所以我需要一个多个“ where”,向我显示所有小于3的测试
我尝试过这样的事情:
$tests = DB::table('tests')->orderBy('name', 'asc')-where('number', < 3)->get();
这告诉我这是不可能的,但是有正确的laravel语法可以执行类似的操作吗?
我找不到任何关于
因为我总是这样使用where('number',1)
答案 0 :(得分:1)
您需要使用小于标记作为字符串('<')作为第二个参数,将值用作第三个参数。例如:
$tests = DB::table('tests')->orderBy('name', 'asc')->where('number', '<', 3)->get();
如果使用等于('=')标记,则可以将value用作第二参数。
答案 1 :(得分:1)
您的条件不正确,因此将其更改为:
where('number', '<=', 3) // '<=' for 1,2,3. If you want only 1,2 try '<'
这里有个问题:
-where
将其更改为:
->where
然后重试。
答案 2 :(得分:0)
您可以从下面的链接中获得带有多个示例的详细知识 https://laravel.com/docs/5.7/queries#where-clauses
$selected_number = '3';
$tests = DB::table('tests')->where('number', '<=', $selected_number)->orderBy('name', 'asc')->get();