我正在使用Laravel进行一个小项目,我尽力了解Laravel文档以创建一个不错的解决方案,但是这次我发现有些难以理解的WHEN子句
有人可以给我一个例子给我解释一下这段代码吗?
$role = $request->input('role');
$users = DB::table('users')
->when($role, function ($query, $role) {
return $query->where('role_id', $role);
})
->get();
文档:https://laravel.com/docs/7.x/queries#conditional-clauses
我也想知道第二个参数[] in the input function
request()->input('field', []);
答案 0 :(得分:1)
只要变量角色等于true,该查询就会执行:
return $query->where('role_id', $role);
关于第二个问题,如果未填写请求参数“字段”,则默认值设置为:[]。
另一个例子:
$foo = $request->input('test', 69);
如果未填写请求参数测试,则参数foo将为69。