2017-07-25 119 views
0

是否可以從路由控制器向url添加參數?將查詢參數添加到Laravel控制器中的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

編輯:沒有重定向請

+1

是的,這是可能的,使用重定向 – Kyslik

+0

重寫規則將幫助你這樣做。 – Gunnrryy

回答

0

是否有可能設置了一個param添加到從路由控制器的網址是什麼?

,這是可能的。 如果您想要轉到該網址,您可以重定向路線。說出路線名稱爲「訂單完成」然後你可以做以下的控制器:

return redirect()->route('order-finished', ['order_number'=>'W00034335']); 

的含義是,ORDER_NUMBER將被附加作爲查詢參數來這條路線。

PS:如果您指的是請求調用某個路由,而不是您應用的一般url配置,則此答案具體爲。

+0

並生成一個新的網址與參數使用: 'url('route',['order_number'=>'W00034335']);';) – Maraboc

+0

它不會是正確的做到這一點,有一種行爲它給你第二個參數的數組值作爲url的路徑參數,所以上面的例子給出了......'spagepage/route/W00034335' –

0

是:

redirect('order-finished?order_number=W00034335'); 
0

簡單,使用redirect()->to()方法。

public function getOrderFinished(){ 

    // your parameter value 

    $param = W00034335; 

    return redirect()->to('myshop.com/order-finished?order_number='.$param); 
} 
0

你應該試試這個:

use Illuminate\Support\Facades\Redirect; 


$paramData = 'W00034335'; 
return Redirect::to('/order-finished?order_number='. $paramData); 

希望這有助於爲你!

0

要將參數添加到您需要的答案是使用重定向在路由文件

<?php 
Route::get('/order-finished/order_number/{id}', [ 
       'as' => 'front.order.detail', 
       'uses' => '[email protected]' 
      ]); 
{{ route('front.order.detail',$order['id']) }} 
?> 
0

由於所有(或大部分)來定義的URL,我會嘗試別的東西。我覺得這是一個非常乾淨的方法。

在你的路由/ web.php文件,插入此:

Route::get('order/{id}', '[email protected]'); 

,然後在OrderController,有這樣的:

public function show($id) 
    { 
     $order = Order::find($id); 

     return view('orders.show')->with('order', $order); 
    } 

這是路由的基本思想,你可以找到在文檔here中。

修改命名約定你將會怎樣!