laravel中比较常规的列表查询:
/**
* 活动列表
* @param Request $request
* @return \Illuminate\Http\JsonResponse
*/
public function getActiveList(Request $request,UrlManager $urlManager)
{ $name = $request->get('name'); //活动标题
$start_time = $request->get('start_time'); //活动开始时间
$author_user_name = $request->get('author_user_name'); //活动发布者
$active_classify_id = $request->get('active_classify_id'); //活动分类 $limit = (int) $request->get('limit', 15);
$offset = (int) $request->get('offset', 0); $query = ActiveContent::with(['user'])
->when($active_classify_id, function ($query) use ($active_classify_id) {
$query->where('active_classify_id', $active_classify_id);
})
->when($name, function ($query) use ($name) {
$query->where('name', 'like', sprintf('%%%s%%', $name));
})
->when($start_time, function ($query) use ($start_time) {
$query->where('created_at', '>=', $start_time);
})
->when($author_user_name, function ($query) use ($author_user_name) {
return $query->whereHas('user', function ($query) use ($author_user_name) {
return $query->where('name', 'like', '%'.$author_user_name.'%');
});
}); $total = $query->count('id');
$items = $query->limit($limit)
->offset($offset)
->orderBy('weight', 'desc')
->orderBy('id', 'desc')
->paginate()->toArray(); foreach($items['data'] as $key=>$value){
//获取活动封面
$active_face = ActiveContent::with('faces')->where('id', $value['id'])
->select('face', 'id')->get()->keyBy('id'); $items['data'][$key]['face']=(isset($active_face[$value['id']]) && $active_face[$value['id']]->faces) ? $urlManager->make($active_face[$value['id']]->faces->file) : ''; } return response()->json($items, 200, ['x-ad-total' => $total]); }

 

laravel 列表搜索查询(when,with用法以及关联图像id处理图像路径)的更多相关文章

  1. laravel 里面结合关联查询 的when()用法

    Laravel 5.6 里面的when用法: $name = $request->get('name'); //活动标题 $start_time = $request->get('star ...

  2. Sentry 监控 - Search 搜索查询实战

    系列 1 分钟快速使用 Docker 上手最新版 Sentry-CLI - 创建版本 快速使用 Docker 上手 Sentry-CLI - 30 秒上手 Source Maps Sentry For ...

  3. HQL查询——HQL查询的基本用法

    HQL查询--HQL查询的基本用法 1.HQL语法类似于SQL语法,但是需要注意的是,HQL是一种完全面向对象的查询语言.SQL语言操作的对象是数据表.列等数据库对象,而HQL语言的操作对象是类.实例 ...

  4. MVC5搜索/查询 流程功能的实现

    接着上次的篇幅,我们这篇手动来写一个查询的流程代码!  搜索/查询 流程功能的实现 那现在要做搜索(查询)功能我们第一步应该做什么呢!第一次是不是我们应该去Controller(控制器)里去搞一个搜索 ...

  5. SharePoint 2007 单列表模糊查询SPD定制

    应用场景:项目中总会遇到一些列表,存着是用户.项目等数据,而我们需要查询有哪些项目,这时候,就需要用到模糊查询了,而这样的查询,基本不需要跨列表,所以,也没必要配置复杂的搜索,用Designer(简称 ...

  6. Mysql全文搜索match against的用法

    全文检索在 MySQL 中就是一个 FULLTEXT 类型索引.FULLTEXT 索引用于 MyISAM 表,可以在 CREATE TABLE 时或之后使用 ALTER TABLE 或 CREATE ...

  7. Restrictions.like() 模糊查询,以及使用DetachedCriteria查询的一般用法

    Restrictions.like() 模糊查询,以及使用DetachedCriteria查询的一般用法 2016-10-10 16:52:38                             ...

  8. React后台管理系统-商品列表搜索框listSearch组件

    1.商品列表搜索框 2.搜索框页面的结构为 <div className="row search-wrap">               <div classN ...

  9. mysql 中合并查询结果union用法 or、in与union all 的查询效率

    mysql 中合并查询结果union用法 or.in与union all 的查询效率 (2016-05-09 11:18:23) 转载▼ 标签: mysql union or in 分类: mysql ...

随机推荐

  1. svg标签

    在页面上画图无非有两种方法,一种是canvas,另外一种就是svg了,canvas之前已经介绍过了,现在来介绍一下svg吧. 其实早在svg出现以前几年,微软已经推出了类似的东西,叫做vml,早期是为 ...

  2. Scala进阶之路-反射(reflect)技术详解

    Scala进阶之路-反射(reflect)技术详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Scala中的反射技术和Java反射用法类似,我这里就不一一介绍反射是啥了,如果对 ...

  3. Linux命令(九)查找文件find

    4. find -type f   文件 d  目录 l   连接 5. find -size 6. find -maxdepth -2 (最深路径为2) 7. find ./ -maxdepth 1 ...

  4. 第二节:从程序集的角度分析MemoryCache,并完成基本封装

    一. 轻车熟路 有了上一个章节对 System.Web.Caching.Cache 的探究,这里我们按照同样的思路对 MemoryCache 进行探究,相信必定会得心应手. 1. 程序集准备 a. 需 ...

  5. Ubuntu 16.04及以上 安装/卸载 Docker-CE

    前言 本文仅针对Ubuntu 18.10.18.04.16.04的x86_64的OS与架构下的Docker-CE的安装 卸载老板本 如果已安装,请卸载它们: sudo apt-get remove d ...

  6. JMS学习(七)-ActiveMQ消息的持久存储方式之KahaDB存储

    一,介绍 自ActiveMQ5.4以来,KahaDB成为了ActiveMQ默认的持久化存储方式.相比于原来的AMQ存储方式,官方宣称KahaDB使用了更少的文件描述符,并且提供了更快的存储恢复机制. ...

  7. nmap学习之相关参数列表

    一.TARGET SPECIFICATION: Can pass hostnames, IP addresses, networks, etc. Ex: scanme.nmap.org, micros ...

  8. python - 添加文件环境变量

    #添加  当前文件目录 import sys,os BASE_DIR = os.path.dirname(os.path.dirname(__file__)) sys.path.append(BASE ...

  9. 公共模块定义/草案(Common Module Definition / draft - CMD草案)

    This specification addresses how modules should be written in order to be interoperable in browser-b ...

  10. Android避免OOM(内存优化)

    Android内存优化是性能优化很重要的一部分,而如何避免OOM又是内存优化的核心. Android内存管理机制 android官网有一篇文章 Android是如何管理应用的进程与内存分配 Andro ...