是否可以从路径控制器中向url
添加参数?
例如我的网址是: myshop.com/order-finished
他的方法控制器是:
getOrderFinished() {
// I want add this param
myshop.com/order-finished?order_number=W00034335
}
我想要最终网址 myshop.com/order-finished?order_number=W00034335 ,但我必须从控制器方法添加参数order_number
。
编辑:请不要重定向
答案 0 :(得分:0)
是否可以从路径控制器的URL中添加一个参数?
是,有可能。 如果要转到该URL,可以重定向路由。假设路线名称为“已完成订单”,然后在控制器中执行以下操作:
return redirect()->route('order-finished', ['order_number'=>'W00034335']);
这意味着order_number将作为查询参数附加到该路由。
PS:如果您指的是对路线的请求调用,而不是您应用的常规网址配置,则此答案会特别说明。
答案 1 :(得分:0)
是:
redirect('order-finished?order_number=W00034335');
答案 2 :(得分:0)
只需使用redirect()->to()
方法。
public function getOrderFinished(){
// your parameter value
$param = W00034335;
return redirect()->to('myshop.com/order-finished?order_number='.$param);
}
答案 3 :(得分:0)
你应该试试这个:
use Illuminate\Support\Facades\Redirect;
$paramData = 'W00034335';
return Redirect::to('/order-finished?order_number='. $paramData);
希望对你有所帮助!!!
答案 4 :(得分:0)
要将参数添加到您需要在路径文件中定义的URL
<?php
Route::get('/order-finished/order_number/{id}', [
'as' => 'front.order.detail',
'uses' => 'OrderController@getOrderDetail'
]);
{{ route('front.order.detail',$order['id']) }}
?>
答案 5 :(得分:0)
由于所有(或大多数)答案都使用重定向,我会尝试其他方法。我觉得这是一个非常干净的方法。
在您的routes / web.php文件中,插入:
Route::get('order/{id}', 'OrderController@show');
然后在你的OrderController中,有这个:
public function show($id)
{
$order = Order::find($id);
return view('orders.show')->with('order', $order);
}
这是路由的基本思路,您可以在文档here中找到。
修改命名约定方式!