Laravel通过视图发送数据

时间:2015-02-10 17:19:43

标签: php laravel

我正在与一个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(未设置)。

对此有任何解决方案吗?

1 个答案:

答案 0 :(得分:2)

为什么要在Session中检查modules密钥?您未在会话中设置它,您将在视图中返回该数据。根据上面的代码,你应该可以在你的视图中做这样的事情:

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

为了使Session::has('modules')返回true,您需要在返回视图之前执行以下操作:

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