Maison > Article > développement back-end > le framework laravel implémente la fonction de recherche
Cette fois je vous apporte quelles sont les précautionsVoici un cas pratique, jetons un oeil.
La fonction de recherche ici est principalement basée sur l'implémentation du formulaire d'obtention de soumission
<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>
Logique partielle 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]); }
Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article, et plus encore Comme c'est excitant, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !
Lecture recommandée :
PHP détermine si WeChat est ouvert ou si un navigateur est ouvert
Résumé de quelques pièges MySQL
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!