Laravelのpost時に、URLをControllerへ送付する方法

laravelのget時にURLのパラメーターを送付することはよくあると思います。

では、Postの際はどのようにするのでしょうか??

まずは、データを引き渡すformから。

<form method="POST" action="{{ route('route名', ['param' => request()->path()] ) }}">
</form>

ポイント①:
actionのから変数を渡す方法です。
詳細はこちらを確認。LaravelでGET,POSTにパラメーターを追加して、渡す方法・受け取る方法

ポイント②:
現在のURLを取得する。今回でいう処理の 
request()->path() の部分です。

この2点から、パラメーターをControllerへ渡すことができすます。

Contollerでのパラメーターの受け取り方は、
$request->param で受け取ることが出来ます。
※param は、post の actionで指定したkeyになるので、変更可能です。

LaravelでGET,POSTにパラメーターを追加して、渡す方法・受け取る方法

Webアプリケーションでのデータの受け渡しで使われる、GET・POSTです。
普通に使う場合の説明は、色々と紹介されていると思います。

今回は、パラメータを追加した場合の方法に絞って説明していきます。

GETにパラメーターを追加した場合

まずは、GETにパラメータを追加した場合です。
GETの特徴としては、URLに情報を渡してデータのやりとりをする部分です。

重要情報を明記するのはNG行為ですね。
使われ方としては、ページ別 id とかで出し分けるときに使います。

Route・Controllerで必要な処理を明記していきます。

■Route

Route::get('URL/{parameter}','Controller@method');

メソッドはgetです。
重要な部分は、{parameter}です。
ここに引き渡したいパラメータをセットされるようにします。

■Controller

controllerでデータを受け取る場合は単純です。

public function method($parameter)    {
// $parameter を使える。
}

メソッドの引数に変数を入れてあげればOKです。
(引数の名称はなんでもOK!なはずです。)

POSTにパラメーターを追加した場合

POSTでサーバにデータを送信する際は、HTTPリクエストボディにデータが記述されるので、比較的安全にデータを渡すことができます。
フロント側から、サーバー側へデータを渡すことができます。

HTMLのformからPOSTを送信する場合は、パラメータをactionの中に組み込みます。

  <form method="POST" 
        action="{{ route('route_nama', ['key' => $parameter]) }}"> 
 </form> 

controllerで受け取る場合には、

public function method(Request $request)    
{     
// $request->key でpameterの内容を受け取ることができる。

}

$requestの中にデータが入っています。
引き出す際には、送信する際に設定した、keyを変数名にして
$request->key を指定することで受け取ることができます。