我需要帮助来理解 WHEN 子句

我正在使用 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', []);


拉丁的传说
浏览 79回答 1
1回答

繁花如伊

只要变量 role 等于 true,该查询就会执行:return $query->where('role_id', $role);关于第二个问题,如果请求参数“字段”未填写,则默认值设置将为:[]。另一个例子:$foo = $request->input('test', 69);如果请求参数test不填,则参数foo将为69。
打开App,查看更多内容
随时随地看视频慕课网APP