laravel框架关于搜索功能的实现
作者:kangjunfei 发布时间:2024-05-03 15:27:54
标签: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]);
}
来源:http://blog.51cto.com/kangjunfei/1958240
0
投稿
猜你喜欢
- 从低版本迁移到MySQL 8后,可能由于字符集问题出现 Illegal mix of collations (utf8mb4_general
- 以下的文章主要是对MySQL limit查询优化的具体内容的介绍,我们大家都知道MySQL数据库的优化是相当重要的。其他最为常用也是最为需要
- 当然如果想了解更多编辑器的原理制作方法,只有你自己去下载一个在线编辑器,慢慢研究,相信会有更多的收获!HTML在线编辑器的基本概念1,什么是
- 以前我也写过一个注册表类,不过那一个不能进行多个类的注册,下面用数组对类进行了存储。 <?php //基础类 class webSit
- 方法1:/** 功能:数据备份/恢复文件简易方法* 以日期为单位,一天一个备份文件,以当天最后备份为准* 用提交表单的形式进行操作,* 其中
- 解释器模式(Interpreter Pattern)是什么解释器模式是一种行为型模式,它定义了一种语言文法,并且定义了一个解释器,用来解释这
- 目录一、介绍二、方法三、示例windows平台1、编写搭建动态库c函数2、python导入库3、结果linux平台1、编写c程序2、编译成s
- python 读写中文json的实例详解读写中文json想要 读写中文json ,可以使用python中的 json 库可以对j
- 一、创建excel代码备注:封装好了(可直接调用)"""-*- coding:utf-8 -*-@Time :
- 最近开发一套接口,写个Python脚本,使用requests.session模拟一下登录.因为每次需要获取用户信息,登录需要带着sessio
- 一、Eclipse 的安装Eclipse的安装是很容易的。Eclipse是基于java的一个应用程序,因此需要一个java的运行环境(JRE
- 下面是例子分析表A记录如下: aID aNum
- 一、数据预处理实验数据来自genki4k提取含有完整人脸的图片def init_file(): num = 0&n
- 问题背景:日常对Sql Server 2005关系数据库进行操作时,有时对数据库(如:Sharepoint网站配置数据库名Sharepoin
- 问题:有3扇关闭的门,一扇门后面停着汽车,其余门后是山羊,只有主持人知道每扇门后面是什么。参赛者可以选择一扇门,在开启它之前,主持人会开启另
- 对我当前工程进行全部测试需要花费不少时间。既然有 26 GB 空闲内存,为何不让其发挥余热呢? tmpfs 可以通过把文件系统保
- 以前写的很简单,只有几句话,最近发现本文是本博客阅读量最大的一篇文章,觉得这样有种把人骗进来的感觉,于是又细化了一些。如果还有不好的地方,欢
- 参考: Smashing magzine翻译+整理: Demix当完成一项前端的工作之后,许多人都会忘记该项目的结构与细节。然而代码并不是马
- pandas读取、写入csv数据非常方便,但是有时希望通过excel画个简单的图表看一下数据质量、变化趋势并保存,这时候csv格式的数据就略
- 目录前后端传输数据的编码格式Ajax提交urlencoded格式数据Ajax通过FormData上传文件Ajax提交Json格式数据Ajax