问题描述
在 Laravel 测试中,我想发送带有一些参数的 get 请求,如下所示:
$response=$this->get(
route('orders.payment.pay',['order'=>$order->id]),['pay_type','payment_gateway']
);
但是当我运行它时,我有302
响应中的错误代码。但是当像这样使用它时,它工作正常:
$response=$this->get(
route('orders.payment.pay',['order'=>$order->id]).'?pay_type=payment_gateway'
);
有没有办法像第一种方式一样传递参数?
解决方法
这是 route
助手的签名:
function route($name,$parameters = [],$absolute = true)
您应该向传递给 route
助手的数组或参数添加任何您想要的查询参数:
route('orders.payment.pay',[
'order' => $order->id,'pay_type' => 'payment_gateway',]);
任何没有替代路由参数的参数都作为查询字符串参数附加。