web-dev-qa-db-ja.com

Laravelでリダイレクトを使用してデータを送信する方法

ページが読み込まれたときにポップアップメッセージを表示するAPIを開発しました。

すべてのページがポップアップAPIを使用するわけではありません。たとえば、ユーザーがshow($id)ページにアクセスする場合、ポップアップAPIを起動する必要はありません。しかし、いくつかの特別な場合には、ポップアップを起動する必要があります。

ここに私のコードがあります、**このコードは、実際の作業コードではなく、私のポイントを説明するためのものです**

public function store(){
    validating the input

    saving them

    $id = get the id

    return Redirect::route('clients.show, $id')
}

そして、ショー機能で私はこれを行います:

public function show($id){
   $client =Client::find($id)
   return View::make('clients.profife')->with(array(
   'data' => $client
))

私の質問

store関数からshow関数にデータを送信する方法はありますかRedirect :: routeを使用?そして、show関数で、このshow関数かどうかを確認し、このデータが送信されたかどうかを確認し、ポップアップAPIを起動するかどうかを決定します。

}

19

ストア内()

_return Redirect::route('clients.show, $id')->with( ['data' => $data] );
_

show()で読む

_Session::get('data');
_
37
delmadord

ヘルパー関数 を使用した単純なリダイレクト。

したがって、コントローラーモデルでuse Redirectuse Sessionも設定する必要はありません。

コントローラーで何かを処理した後、以下を挿入します。

return redirect()->route( 'clients.show' )->with( [ 'id' => $id ] );

ルート'id'(上記)の変数'clients.show'を取得するには、次を使用します。

// in PHP
$id = session()->get( 'id' );

// in Blade
{{ session()->get( 'id' ) }}
9
vozaldi

はい、以下のようにルートでパスを定義できます:

Route::get('store/{id?}/{param1?}/{param2?}/{param3?}', 'clients@store');

関数に複数のパラメーターを渡し、引数を渡すことでコントローラーで読み取ることができます。

コントローラで定義できます:

public function store(id, param1,param2,param3){
//read the param values
}
0
Sikander