2015-02-10 121 views
1

我正在與一個學校項目的Laravel和我很難解決這個問題的osme困難。該代碼正是我從另一個腳本得到的,我已經仔細檢查了代碼。Laravel發送數據與視圖

功能代碼:

$modules = Module::all(); 
$id = Auth::user()->id; 

$array = array(); 

foreach($modules as $module) { 

    $questions = Question::where('m_id', $module['id'])->count(); 
    $answers = Answer::where('m_id', $module['id'])->where('user_id', $id)->where('correct', 1)->count(); 

    $percentage = ($answers/$questions) * 100; 

    array_push($array, array(
    'name' => $module->name, 
    'description' => $module->description, 
    'precentage' => $percentage 
)); 
} 

print_r($array); 

return View::make('hello')->with('modules', $array); 

在的print_r($陣列)功能,我得到正是我想在視圖中得到的一切。但問題是我沒有得到任何東西,我用{{Session :: has('modules')}}來檢查它,並且它返回false(未設置)。

對此的任何解決方案?

+0

此功能位於哪裏??? – Vagabond 2015-02-10 17:23:48

+0

試試這個:print_r(Input :: get('modules')); – 2015-02-10 17:27:34

+0

這個函數位於HomeController中,但並不真正明白爲什麼這會造成差異。 – 2015-02-10 17:29:28

回答

2

你爲什麼要檢查會話中的modules鍵?你不是在會話中設置它,而是使用視圖返回數據。你應該能夠做這樣的事在你看來給上面的代碼:

@foreach($modules as $module) 
    {{ $module['name'] }} 
@endforeach 

爲了Session::has('modules')返回true,你需要做這樣的事情你返回視圖之前:

Session::put('modules', $array); 
+0

是啊真正的,男人的foreach方法不工作,我已經嘗試了幾件事情來獲取數據。 *編輯* OKE你的代碼工作!我用$ module-> name不是$ module ['name'],上帝啊!但是,謝謝你的隊友。 – 2015-02-10 17:29:56

+0

沒有概率,很高興提供幫助 – 2015-02-10 17:37:00