我有这段代码:
public function lookupTransflow()
{
//redirect back with data...perform a count on the data n display (1 fills the forms 2 for selct)
$input=Input::get('search');
$schools = Transflow::where('school', 'LIKE', '%'.$input.'%')->get();
return Redirect::route('search')->with('schools',$schools);
}
我正在尝试将结果传递给此视图:
@if(Session::has('schools'))
@foreach($schools as $school)
<a href="#" class="list-group-item">{{$school->school}}</a>
@endforeach
@endif
请问我做错了什么。
答案 0 :(得分:-1)
您似乎混淆了传递给视图的数据和传递给Redirect
实例的数据 - 这些数据在请求之间闪现 - 即使您在视图中正确检查它也是如此。
我最好的猜测是,如果您没有看到如何处理实际的search
路线,则需要从会话中获取schools
集合才能使用它。
@if(Session::has('schools'))
// $schools is not set, but you can get it directly from Session
@foreach(Session::get('schools') as $school)
<a href="#" class="list-group-item">{{$school->school}}</a>
@endforeach
@endif
虽然正如Martin在评论中指出的那样,您可能希望在实际进入视图之前执行此操作。例如,在search
路线中:
Route::get('search', function()
{
$schools = array();
if (Session::has('schools'))
{
$schools = Session::get('schools');
}
return View::make('search', compact('schools'));
});
如果您遵循第二个建议,则始终会设置$schools
,并且您不必在视图中使用Session
课程。