溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

使用laravel框架怎么實現(xiàn)一個搜索功能

發(fā)布時間:2021-01-30 16:37:48 來源:億速云 閱讀:275 作者:Leah 欄目:開發(fā)技術(shù)

這篇文章將為大家詳細講解有關(guān)使用laravel框架怎么實現(xiàn)一個搜索功能,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

<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">文章標(biāo)題:</th>
      <!--查詢關(guān)鍵詞-->
      <td><input type="text" name="keywords" placeholder="文章標(biāo)題"></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表連接 查詢根據(jù)倆個表里的這些字段來執(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();
  //渲染頁面 傳遞 參數(shù)
  return view('backend.article_list',['postdata'=>$postdata,'shownum'=>$shownum,'category'=>$category]);
}

關(guān)于使用laravel框架怎么實現(xiàn)一個搜索功能就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI