我有一点我不明白的问题..
我的控制器:
<?php
class SearchController extends BaseController{
public function postSearch(){
$course = Input::get('course_category');
if(empty($course)){
return Redirect::route('search')
->with('global','<div class="alert alert-danger" role="alert" align="center">Du måste välja kurs och universitet!</div>');
}else{
$courses = Posts::where('course_category','LIKE','%'.$course.'%')->get();
return View::make('search')
->with('course_category',$courses)
->with('courses',$courses);
}
}
}
我的观点:
@extends('layout.main')
@section('content')
{{Form::open(array('method' => 'POST', 'route' =>array('post-search')))}}
<div class="form-group">
{{Form::label('course_category','Språk')}}
{{Form::select('course_category',array(
'' =>'-Choose--',
'php' => 'PHP',
'javascript' =>'Javascript',
'java' =>'Java',
'C#' =>'C#',
'html' =>'HTML',
'css' =>'CSS',
'.net' =>'.NET',
'jquery' =>'jQuery',
'ajax' =>'Ajax'
))}}
</div>
{{Form::submit('Sök',array('class'=>'btn btn-info'))}}
{{Form::token()}}
{{Form::close()}}
@if($courses->count())
@foreach($courses as $c)
<p>{{$c->title}}</p>
@endforeach
@endif
@stop
这是我的View搜索引发的错误:
ErrorException(E_UNKNOWN) 未定义的变量:课程(查看:/Applications/MAMP/htdocs/LaraBoost/app/views/search.blade.php)
当我从控制器传递给View时,视图中的$ courses变量是如何被定义的?
我错过了什么?
答案 0 :(得分:0)
看起来,你的控制器代码有问题,逻辑看似不对,但为了克服视图问题,你可以尝试这样的事情:
@if(isset($courses) && $courses->count())
//...
@endif
由于$courses
未定义,因此未发送。{p}如果你试试这个
@if(isset($courses) && $courses->count())
//...
@else
{{'No Courses'}}
@endif
您会明白这一点,并让您了解自己在做什么。