Laravel 5.8请求值为空,而不是默认值

时间:2019-05-11 12:59:04

标签: php laravel laravel-5.8

我使用Laravel 5.8,我想简单地使用默认值作为描述(如果为空)并进行总结。

// summary variable request is equal to "test"
$summary = $request->get('summary', null);
$request->get('description', $summary)

但是,该字段存在,为空,并且说明为我提供了null而不是摘要值。摘要值为“测试”。

2 个答案:

答案 0 :(得分:1)

要从请求中获取信息,您应该直接使用get(),input()或名称。对于最新Laravel版本的请求,没有关于get方法的文档。对于Laravel 5.8上的 input 方法,文档说

  

您可以将默认值作为第二个参数传递给输入法。如果请求的输入值不存在,则将返回该值

它说它仅在不存在时才起作用,所以我会像这样简单

$description = $request->description ? $request->description : $request->summary

这实际上取决于您要完成的所有工作以及如何获取数据。

答案 1 :(得分:0)

可能的解决方案

我的第一印象是数据可能无法正确发送,但是再次查看代码后,我意识到您正在使用不推荐使用的功能location /phone { index index.html index.php; }

尝试改用->get('description')。我个人从未使用过->input('description),所以也许这可能是问题所在。

https://laravel.com/docs/5.8/requests