Bal*_*ald 22 laravel laravel-5
网址: http://localhost/?v=
码:
Route::get('/', ['as' => 'home', function()
{
dd(Request::has('v'));
}]);
Run Code Online (Sandbox Code Playgroud)
输出: false
到底是怎么回事?这是一个错误还是我做错了什么?
luk*_*ter 51
Request::has()将检查项目是否实际设置.这里没有空字符串.
你要找的是:Request::exists()!
Route::get('/', ['as' => 'home', function()
{
dd(Request::exists('v'));
}]);
Run Code Online (Sandbox Code Playgroud)
tot*_*dli 37
升级到Laravel 5.5或更高版本.他们改变了这一点,现在它按照你原先的预期工作.
在Laravel 5.5升级指南中,我们阅读以下内容:
该
has方法即使输入值为空字符串,该
$request->has方法现在true也 将返回null.$request->filled添加了一种新方法,该has方法提供了该方法的先前行为.
该$request->exists方法仍然有效,它只是一个别名$request->has.
$request->exists:确定请求是否包含给定的输入项密钥.$request->has:确定请求是否包含输入项的非空值.$request->exists:别名 $request->has$request->has:确定请求是否包含给定的输入项密钥.$request->filled:确定请求是否包含输入项的非空值.如果你点击上面的命令,你可以检查出的源代码,并看到他们真的只是改名exists来has,has来filled,然后别名exists来has.
您可能想检查一下。因为$request->has()method及其it属性可以提供对请求源的访问。
可以使用$request->has('username')它可以检查<input type="text" name="username" />用户名属性是否确实存在,或者params / .query字符串是否在全局请求中实际具有该键。
| 归档时间: |
|
| 查看次数: |
35894 次 |
| 最近记录: |