本文是作者整理的关于laravel框架搜索功能的实现原理,并附上了详细代码,有需要的小伙伴请持续关注!
这里的搜索功能主要基于表单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]);
}
编程基础网
本文标题为:laravel框架关于搜索功能的实现
基础教程推荐
猜你喜欢
- CentOS 7 编译安装PHP7 2023-09-02
- PHP树形结构tree类用法示例 2022-12-15
- php+mysql+ajax 局部刷新点赞/取消点赞功能(每个账号只点赞一次) 2023-04-24
- 解析PHP中Exception异常机制 2023-06-13
- PHP如何将头像图片转换圆形图片 2023-08-30
- php fread函数使用方法总结 2023-01-19
- 在laravel中实现事务回滚的方法 2023-02-22
- PHP5.0 TIDY_PARSE_FILE缓冲区溢出漏洞的解决方案 2022-11-26
- PHP中的输出缓冲控制详解 2023-06-03
- PHP设计模式之状态模式定义与用法详解 2022-10-12
