laravel框架關于搜索功能的實現
更新時間:2018年03月15日 08:44:16 作者:kangjunfei
本文是作者整理的關于laravel框架搜索功能的實現原理,并附上了詳細代碼,有需要的小伙伴請持續(xù)關注!
這里的搜索功能主要基于表單get提交實現的
<form action="/backend/auditList" method="get"> <table class="search_tab"> <tr> <th width="120">選擇分類:</th> <td> <select name="class" > <option value="">全部</option> @foreach($category as $c) <option value="{{$c->id}}">{{$c->class_name}}</option> @endforeach </select> </td> <th width="70">文章標題:</th> <!--查詢關鍵詞--> <td><input type="text" name="keywords" placeholder="文章標題"></td> <td><input type="submit" name="sub" value="查詢"></td> </tr> </table> </form>
php部分邏輯
public function article_list(){ //echo 'zoule';exit; 測試表單是否走進方法中 大家隨意寫 $shownum = 1; if(array_key_exists('class',$_GET)||array_key_exists('keywords',$_GET)){ //echo '111'; if($_GET['class']){ //Article模型 leftJoin表連接 查詢根據倆個表里的這些字段來執(zhí)行 $postdata = Article::leftJoin('category', function($join) { $join->on('article.class_id', '=', 'category.id'); })->select(['article.id','category.class_name','article.status','article.title_editing','article.update_time'])->where('article.class_id','=',$_GET['class'])->orderBy('release_time','desc')->paginate($shownum); }elseif($_GET['keywords']){ $postdata = Article::leftJoin('category', function($join) { $join->on('article.class_id', '=', 'category.id'); })->select(['article.id','category.class_name','article.status','article.title_editing','article.update_time'])->where('article.title_editing','=',$_GET['keywords'])->orderBy('release_time','desc')->paginate($shownum); }else{ $postdata = Article::leftJoin('category', function($join) { $join->on('article.class_id', '=', 'category.id'); })->select(['article.id','category.class_name','article.status','article.title_editing','article.update_time'])->orderBy('release_time','desc')->paginate($shownum); } }else{ //echo '2222'; $postdata = Article::leftJoin('category', function($join) { $join->on('article.class_id', '=', 'category.id'); })->select(['article.id','category.class_name','article.status','article.title_editing','article.update_time'])->orderBy('release_time','desc')->paginate($shownum); } //分類id不是父id $category = DB::table('category')->where('parent_id','!=','0')->get(); //渲染頁面 傳遞 參數 return view('backend.article_list',['postdata'=>$postdata,'shownum'=>$shownum,'category'=>$category]); }
相關文章
PHP實現用戶異地登錄提醒功能的方法【基于thinkPHP框架】
這篇文章主要介紹了PHP實現用戶異地登錄提醒功能的方法,基于thinkPHP框架結合用戶session實現異地登陸的判定功能,非常具有實用價值,需要的朋友可以參考下2018-03-03laravel 解決groupBy時出現的錯誤 isn''t in Group By問題
今天小編就為大家分享一篇laravel 解決groupBy時出現的錯誤 isn't in Group By問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10