2017-07-25 14 views
0

urlにパラメータを追加することはできますか?Laravelコントローラのurlにクエリパラメータを追加

例えば、私のURLは次のとおりです。

をmyshop.com/order-finishedそして、彼の方法コントローラは次のとおりです。

getOrderFinished() { 
    // I want add this param 
    myshop.com/order-finished?order_number=W00034335 
} 

私は、最終的なURL がmyshop.com/order-finishedしたいですか? order_number = W00034335ですが、コントローラーメソッドからパラメーターorder_numberを追加する必要があります。

EDIT:なしリダイレクトしてください

+1

はい、リダイレクトを使用すると、 – Kyslik

+0

書き換えルールを使用すると役立ちます。 – Gunnrryy

答えて

0

は、ルートコントローラからURLへのparamを追加することが可能ですか?

はいでも可能です。 そのURLに移動したい場合は、ルートをリダイレクトできます。

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

意味合いがORDER_NUMBERは、そのルートにクエリパラメータとして追加されるということです。そして、あなたは、次の操作を行うことができ、コントローラにルート名は「ため、完成」であると言います。

PS:この回答は、アプリケーションの一般的なURL設定ではなく、ルートへのリクエスト呼び出しを参照している場合に特に役立ちます。

+0

URLをパラメータとして使用して新しいURLを生成するには、 url( 'route'、['order_number' => 'W00034335']);;;) – Maraboc

+0

これは正しく行われません。上記の例では、 'somepage.com/route/W00034335'という2番目のパラメータの配列値がURLのパスパラメータとして渡されます –

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ファイルで

、この挿入:あなたが見つけることができるようこれは、ルーティングの基本的な考え方だ

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

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

:あなたのOrderControllerで

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

そして、これを持っていますドキュメントhereにあります。

名前の規則を変更してください。

関連する問題