本文是作者整理的关于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框架关于搜索功能的实现
基础教程推荐
猜你喜欢
- PHP命名空间简单用法示例 2022-12-01
- php array分组,PHP中array数组的分组排序 2022-08-01
- 在Laravel中实现使用AJAX动态刷新部分页面 2023-03-02
- PHP获取MySQL执行sql语句的查询时间方法 2022-11-09
- laravel 解决多库下的DB::transaction()事务失效问题 2023-03-08
- laravel ORM关联关系中的 with和whereHas用法 2023-03-02
- thinkphp3.2.3框架动态切换多数据库的方法分析 2023-03-19
- PHP中的错误及其处理机制 2023-06-04
- PHP实现Redis单据锁以及防止并发重复写入 2022-10-12
- 使用PHP开发留言板功能 2023-03-13