Laravel 6.2请求-在特定路由上返回Null



Laravel 6.2上运行-稳定发布

我不完全确定哪里出了问题——它在一种方法中有效,但在另一种方法不起作用。唯一的区别是URL格式。

(只需尝试从帖子请求中获取身体信息(

例如,我在控制器中有以下方法。

/** METHOD IS POST - URL FORMAT: SERVER.COM/$number **/
private function populate(Request $request, $number){
//
$request->get('x'); // Works
}

然而,当这样做时:

/* POST METHOD - URL FORMAT: server.com/$number/example/$position
private function unpopulate(Request $request, $number, $position){
$request->get('x'); // Fails
}

填充邮差DD

IlluminateHttpRequest {#54
#json: SymfonyComponentHttpFoundationParameterBag {#46
#parameters: array:1 [
"x" => "2005-08-15T15:52:01+00:00"
]
}

取消填充邮差DD

IlluminateHttpRequest {#54
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#34

如果我在unpopulate中对$request进行json_decode,则返回:

-_jsonRequest: {#287
+"finished_at": "2005-08-15T15:52:01+00:00"

但是当尝试访问它时,我会得到一个null值。

$test = json_decode ( $request->getContent() ); // Decodes 
$test->x // Fails
isset($test->x) // Fails

关于如何解决这个问题以及为什么会发生这种情况,有什么想法吗?

Laravel对传入表单数据的get()的方法与Symfony略有不同。

当数据来自表单时,请使用$request->input('x');来避免冲突。

这将有所帮助,但您的问题可能与传入的数据有关。如果你在unpop方法中dd($request->all()),并且得到null,那么这个问题是你在表单推送上的问题中没有显示的。

相关内容

  • 没有找到相关文章

最新更新