我正在使用 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 functionrequest()->input('field', []);
1 回答
繁花如伊
TA贡献2012条经验 获得超12个赞
只要变量 role 等于 true,该查询就会执行:
return $query->where('role_id', $role);
关于第二个问题,如果请求参数“字段”未填写,则默认值设置将为:[]。
另一个例子:
$foo = $request->input('test', 69);
如果请求参数test不填,则参数foo将为69。
- 1 回答
- 0 关注
- 78 浏览
添加回答
举报
0/150
提交
取消