我正在与一个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($ array)函数中,我得到了我想要在视图中获得的所有内容。但问题是我没有得到任何东西,我用{{Session :: has('modules')}}检查它并返回false(未设置)。
对此有任何解决方案吗?
答案 0 :(得分:2)
为什么要在Session中检查modules
密钥?您未在会话中设置它,您将在视图中返回该数据。根据上面的代码,你应该可以在你的视图中做这样的事情:
@foreach($modules as $module)
{{ $module['name'] }}
@endforeach
为了使Session::has('modules')
返回true,您需要在返回视图之前执行以下操作:
Session::put('modules', $array);