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

Php Laravel 5.8请求值为空,而不是默认值,php,laravel,laravel-5.8,Php,Laravel,Laravel 5.8,我使用Laravel5.8,如果描述为空,我只想使用默认值作为描述,并获取摘要 // summary variable request is equal to "test" $summary = $request->get('summary', null); $request->get('description', $summary) 但是,字段是存在的、空的,并且description为null而不是摘要值。摘要值为“测试”。可能的解决方案 我的第一印象是数据可能没有正确发送,但

我使用Laravel5.8,如果描述为空,我只想使用默认值作为描述,并获取摘要

// summary variable request is equal to "test"
$summary = $request->get('summary', null);
$request->get('description', $summary)
但是,字段是存在的、空的,并且description为null而不是摘要值。摘要值为“测试”。

可能的解决方案 我的第一印象是数据可能没有正确发送,但在再次查看代码时,我意识到您使用的是更不推荐的函数
->get('description')

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


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

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

它说它只有在不存在的情况下才起作用,所以我会这么简单

$description=$request->description$请求->说明:$request->summary

这实际上取决于您在这一切之后想要实现什么,以及您想要数据的方式。

您可以“dd($request)”并将输出发送到这里吗?在$request中,您可以看到通过发送的参数,我们可以在传入时检查其是否为null。Laravel有一个默认中间件,可以将空字符串转换为null,您可能需要对此进行注释。对的您还可以使用一个简短的三元组来简化此过程,即
$request->description?:$default