所有我的控制器的前三個方法都工作正常,但是當我添加第四個方法時,這個不起作用(不包括構造方法)並給我一個帶有控制器動作URL的空白頁面。
我的控制器類:laravel 4:總是第四個控制器方法不起作用 - >空白頁
class StoreController extends BaseController{
public function __construct(){
parent::__construct();
$this->beforeFilter('csrf', ['on'=>'post']);
}
public function getIndex(){
return View::make('store.index', ['products'=>Product::take(4)->orderBy('created_at','DESC')->get()]);
}
public function getView($id){
return View::make('store.view', ['product'=>Product::find($id)]);
}
public function getCategory($cat_id){
return View::make('store.category', [
'products'=>Product::where('category_id','=',$cat_id)->paginate(6),
'category'=>Category::find($cat_id)]);
}
public function getSearch(){
$keyword=Input::get('keyword');
return View::make('store.search', [
'products'=>Product::where('title','LIKE','%'.$keyword.'%')->get(),
'keyword'=>$keyword]);
}
}
在我route.php文件:
Route::controller('store', 'Storecontroller');
和動作的triggerer形式是:
<div id="search-form">
{{ Form::open(['url'=>'store/search', 'method'=>'get']) }}
{{ Form::text('keyword', null, ['placeholder'=>'Search by keyword', 'class'=>'search']) }}
{{ Form::submit('Search', ['class'=>'search submit']) }}
{{ Form::close() }}
正如我所說的getSearch方法沒有按沒有工作,我得到了一個空白頁面的動作url(不是返回的視圖)
感謝
它看起來像'Input :: get()'部分導致了問題。爲其添加默認值,如'Input :: get('keyword','default')'並重試。您也可以執行檢查,檢查關鍵字是否使用例如if(Input :: has('keyword')){...} else {...}'。 –