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


猜你喜欢
- 这篇文章主要介绍了python通过移动端访问查看电脑界面,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的
- Python可以使用open函数来实现文件的打开,关闭,读写操作;Python3中的open函数定义为:open(file, mode=
- 在这篇入门教程中,我们假定你已经有了PHP语言程序、MySQL数据库、计算机网络通讯及XML语言基础。如果你还没有,那么请先学习相关知识。我
- 本文实例为大家分享了python画中国国旗的具体代码,供大家参考,具体内容如下# author : momoimport turtle#中国
- 找了 很多 关于表格分页 点击事件 请求, table.render 并不支持监听点击事件,所以我就把 table.render 和 lay
- proxytable代理根路径的同时增加其他代理Vue 项目有一个需求,需要对根路径 ‘/’ 进行代
- CSS网页布局开发中,会有很多小技巧,这里再扩展一下您所想要得到的知识,相信您会有很多收获!一、ul标签在Mozilla中默认是有paddi
- 本文来源于Element官方文档:http://element-cn.eleme.io/#/zh-CN/component/carousel
- 如下所示:def is_chinese(uchar): """判断一个unicode是否是汉字"&q
- 说明本例子利用TensorFlow搭建一个全连接神经网络,实现对MNIST手写数字的识别。先上代码from tensorflow.examp
- 以下为引用的内容: <html> <head> <title>不刷新页面查询的方法&
- 今晚读了think in java 的章节,感觉很不错,我就敲了下来,贴上代码给以后一个回顾: 建议提前读一下think in j
- 引言在Go语言中,我们通常会用到panic和recover来抛出错误和捕获错误,这一对操作在单协程环境下我们正常用就好了,并不会踩到什么坑。
- 菜鸟版代码如下: 理解这段代码就基本上掌握了 function f_s() { var obj = document.getElementB
- 在python显示图象时,我们用matplotlib模块时会遇到图像色彩失真问题,究竟是什么原因呢,下面就来看看究竟。待显示图像为:impo
- 本文实例为大家分享了python实现电子词典的具体代码,供大家参考,具体内容如下# -*- coding: utf-8 -*-#youdan
- 起步这是一个相当实用的内置模块,但是很多人竟然不知道他的存在——笔者也是今天偶然看到的,哎……尽管如此,还是改变不了这个模块好用的事实hea
- Matlab常用的输出命令1、disp方法(1)方法(2)方法(3)需要注意:直接加数字不会显示数字,num2str()使数值转换为字符串类
- 前言大家好,我是 CoderBin,在JavaScript中,this是一个非常重要的概念,属于进阶知识,不管是在面试还是日常开发
- 这篇文章主要介绍了django序列化serializers过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价