web-dev-qa-db-ja.com

laravelのコンパクトな値でリダイレクトします

ルート:

Route::get('merchantTrans/{id}','MerchantController@merchant');

マーチャントコントローラー:

public function merchant($id){
    $merchant = Merchant::whereId($id)->get();
    return redirect('Merchant view')->with(compact('merchant'));
}

ルートを表示:

Route::view('Merchant view','merchant.listview')->name('Merchant view');

表示する販売者のコンパクト値を渡すことができません。

エラーを生成する

未定義の変数:販売者

他の最善の方法は?

5
Samuel Henry

これを試して

return redirect()->route('Merchant view')->with( ['merchant' => $merchant] );

ブレードファイル:

<?php $merchants = Session::get('merchant'); ?>
{{ @foreach ($merchants as $merchant)
    //your code
@endforeach }}

お役に立てば幸いです。

6
Leena Patel

_Route::view_は、次のように渡される静的パラメーターを持つ静的ビュー用に作成されます。

_Route::view('Merchant view','merchant.listview', ['param1' => 'value1']);
_

動的パラメーターを渡したいので、関連するコントローラーactionを介して渡す通常のルートを使用し、目的のデータを取得することをお勧めします。

とにかくあなたはRedirect::route()を次のように使うことができます:

_return Redirect::route('Merchant view',['merchant' => base64_encode($merchant)]);
_

ブレード側で渡された変数をHTTPパラメータとして取得します。

_{{ base64_decode(Request::get('merchant')) }}
_
1
Zakaria Acharki

コンパクトを使用して、コントローラーからビューに値を渡すことができます。Exact構文は次のようになります。

$user_detail=array('field1'=>1,'field2'=>2);
return view('dashboard',compact('user_detail'));

変数name(user_detail)は、compactの名前と同じである必要があります。 laravel 5.4以降のバージョンの正しい構文。

0
Gurpal singh

こんにちは、コンパクトなデータを取得するには、次の方法を使用できます。

return view('admin/users/userdetails', compact('transaction', 'title'));

OR

return redirect('/userdetails', compact('transaction', 'title'));

プロジェクトで次の構文を使用して、他のページにリダイレクトしながらデータを圧縮しています。

ありがとうございました。

0
Niket Joshi