我有一個數組這樣的:發送陣列與緊湊到視圖
$currentSelection = array('category' => $request->category, 'location' => $request->location);
當我發送此,以查看這樣的:
return view('index', compact('currentSelection'));
我得到這樣的信息:
未定義的可變電流選擇
如何使用compact()正確發送數組?
我有一個數組這樣的:發送陣列與緊湊到視圖
$currentSelection = array('category' => $request->category, 'location' => $request->location);
當我發送此,以查看這樣的:
return view('index', compact('currentSelection'));
我得到這樣的信息:
未定義的可變電流選擇
如何使用compact()正確發送數組?
試試這個:
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
,你可以查看刀片視圖訪問它的值,如:
{{ $currentSelection }}
注:在你的情況$currentSelection
是一個array
,所以你必須使用foreach()
得到它的所有元素
我還有其他幾個對象,包含從Laravels雄辯模型返回的結果,爲了簡單起見,我在這裏忽略了它們。 我想將它們與$ currentSelection一起發送,而不使用()方法,並僅使用compact(),這可能嗎? – Eisenheim
嘗試 返回視圖('index',compact($ currentSelection));.
作爲每Eisenheim評論:
編輯成返回視圖( '索引',緊湊( 'VARNAME',$ currentSelection));
當我添加另一個變量時不起作用,如下所示: return view('index',compact('myNewVar',$ currentSelection)); – Eisenheim
請試試這個:
return view('index', compact(['currentSelection']));
你可以試試這個:
return view('index', [
'currentSelection' => $currentSelection,
]);
希望這對你的工作!
你確定'$ currentSelection'是在某個地方定義的嗎? ['compact'不會發出警告,如果它不存在](http://php.net/manual/en/function.compact.php),那麼你的底層'view'函數可能會窒息。 – Mark
@馬克你是對的,這確實是一個範圍問題。我如何關閉這個問題? – Eisenheim
我已經提前並將其標記。很高興你解決了你的問題! – Mark