2017-04-16 6 views
0

にコンパクトで配列を送信:私はこのように表示するには、このを私はこのような配列したビュー

$currentSelection = array('category' => $request->category, 'location' => $request->location); 

を送信する場合:

return view('index', compact('currentSelection')); 

私はこのメッセージが表示されます。

未定義の変数currentSelection

コンパクト()でアレイを正しく送信するにはどうしたらいいですか?

return view('index')->with(compact('currentSelection')); 

または

return view('index', array('currentSelection' => $currentSelection)); // the second param is an array, you can pass multiple elements in this array 

、あなたは次のようにビューブレードビューにその値にアクセスすることができます:

+0

'$ currentSelection'はスコープのどこかで定義されていますか? ['compact'は存在しなければ警告を出しません。](http://php.net/manual/en/function.compact.php)、あなたの潜在的な' view'関数が窒息している可能性があります。 – Mark

+0

@マークはあなたが正しかった、それは確かにスコープの問題でした。この質問を閉じるにはどうしたらいいですか? – Eisenheim

+0

私は先に進み、それにフラグを立てました。あなたの問題を解決してうれしい! – Mark

答えて

0

これを試してみてください

{{ $currentSelection }} 

注:あなたの場合$currentSelectionがありますarrayですので、を使用する必要がありますすべての要素を取得する

+0

Laravels Eloquent Modelsから返された結果を含む他のオブジェクトはほとんどありませんが、ここでは無視しています。 with()メソッドを使用せずに$ currentSelectionと一緒に送信したいですし、compact()のみを使用することは可能ですか? – Eisenheim

0

try 戻るビュー( 'index'、compact($ currentSelection));. Eisenheimコメントを1として

:リターン・ビュー( 'インデックス'、コンパクトな( 'varnameが'、$ currentSelection))であることを編集し

return view('index', [ 
    'currentSelection' => $currentSelection, 
]); 

があなたのためにこの作品を願って:あなたはこれを試すことができ

return view('index', compact(['currentSelection'])); 
+0

次のような別の変数を追加しても機能しません。 ビューを戻す( 'index'、compact( 'myNewVar'、$ currentSelection)); – Eisenheim

0

これを試してみてください!

0

関連する問題