Laravel request-> input('')或old('')始终在刀片中返回1

时间:2016-08-13 18:41:00

标签: php laravel laravel-blade

我想将url数据输入我的输入值。

  

示例:

     
      
  • 网址为http://example.com/user?username=example
  •   
  • 和我的html输入代码如下
  •   
  • <input value="{{ request()->input('username') or old('username') }}">
  •   
  • 但结果总是返回“1”而不是“示例”
  •   

似乎“或”刀片助手充当条件运算符。

如何将url中的用户名值输入到该输入中,并仍然将默认值设置为旧('username')?

4 个答案:

答案 0 :(得分:3)

尝试

<input value="{{ request()->input('username', old('username')) }}">

如果用户名存在,则将检索用户名作为输入,或者默认为旧值。您还可以为旧助手提供默认值。

答案 1 :(得分:0)

这种方式更简单:

<input value="{{ (old('username')?old('username'):'') }}">

答案 2 :(得分:0)

非常简单的方法。

<input value="{{ request()->input('username') ?? old('username') }}">

答案 3 :(得分:0)

根据official documentation 8.x

我们使用助手 request

<块引用>

请求函数返回当前请求实例或获取 来自当前请求的输入字段的值:

$request = request();

$value = request('key', $default);
<块引用>

请求的值是一个数组,您可以简单地使用输入键检索您的输入,如下所示

$username = request()->username; //for http://example.com/user?username=example