这里的搜索功能主要基于表单get提交实现的
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表连接 查询根据俩个表里的这些字段来执行 $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]); }