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