【发布时间】:2016-09-28 06:04:34
【问题描述】:
我尝试为我的网站创建高级搜索,但是当我提交表单时,url 没有改变并且卡在加载中,但是如果我在 url 中写 /media/search?s=name&type=video 它可以工作!
问题是什么?
路线:
Route::get('/media/search','MediaController@search');
查看:
<form class="col-lg-4" method="get" action="/media/search">
<div class="search-filter bordered">
<div class="search-label uppercase">کلمه کلیدی</div>
<div class="input-icon right">
<i class="icon-magnifier"></i>
<input type="text" name="s" class="form-control" placeholder=""> </div>
<div class="search-label uppercase">نوع محتوا</div>
<select name="type" class="form-control">
<option value="all"><b> همه نوع محتوا</b></option>
<option value="image">عکس</option>
<option value="voice">صدا</option>
<option value="video">فیلم</option>
<option value="note">متن</option>
</select>
<div class="search-label uppercase">دسته بندی ها</div>
<select name="category" class="form-control">
<option value="all"><b> همه نوع محتوا</b></option>
<option value="image">عکس</option>
<option value="voice">صدا</option>
<option value="video">فیلم</option>
<option value="note">متن</option>
</select>
<input value="جستجو" type="submit" class="btn green bold uppercase btn-block">
</div>
</form>
和控制器:
public function search(Request $request){
$medias = Media::query();
if($request->get('s')){
$s = $request->get('s');
$medias->where('desc','like','%'.$s.'%')->orWhere('name','like','%'.$s.'%');
}
if ($request->get('type')) {
$type = $request->get('type');
if ($type == 'image') {
$medias->where('format', 'like', 'jpg');
}
if ($type == 'voice') {
$medias->where('format', 'like', '3gp');
}
if ($type == 'video') {
$medias->where('format', 'like', 'mp4');
}
if ($type == 'note') {
$medias->where('format', 'like', 'txt');
}
}
$medias = $medias->get();
return view('media.search')->with(compact('medias','tags','categories'));
}
【问题讨论】:
-
在form中使用post方式,改变post方式,问题就迎刃而解了