Laravel将数组传递给路由,并非所有值都是必需的

时间:2019-03-30 13:44:24

标签: php laravel

我遇到此错误

Missing required parameters for [Route: payment.checkPayment] [URI: {unique_link}/{paymentrequest}/{info}].

在这里我对数组进行编码。 Note是可选的,在数据​​库中也可以为空。

$info = json_encode(["name" => $request->name, "note" => $request->note]);

这是我将其发送到路线的地方

route('payment.checkPayment', [$uniquelink, $paymentrequest, $info])

路线

Route::get('/{unique_link}/{paymentrequest}/{info}', ['as' => 'payment.checkPayment', 'uses' => 'PaymentController@checkPayment']);

我该如何解决?在我看来,我正在发送所有参数。

1 个答案:

答案 0 :(得分:2)

您需要使用键值数组而不是数组列表:

使用:

route('payment.checkPayment', ['unique_link'=>$uniquelink, 'paymentrequest'=>$paymentrequest, 'info'=>$info]);

引用Laravel Named routes

注意,似乎您在json-encoded字段中使用了info值,但是不确定是否会生成有效的URI 。最好检查一下。