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. 读取Easy UI的DATa grid里面的所有数据

    目前我知道的有两种方法: 1.读取行数,循环读出 $("#btnEcxel").click(function () { var rows = $('#tbVehicleList') ...

  2. idea常用的插件

    ignore 插件 可以自动生成.ignore文件   非常的实用 gitee 插件 搜所gitee安装即可  码云的插件 maven helper 插件 idea 中解决maven 包冲突的问题 a ...

  3. Study 2 —— 格式化输出

    打印人物信息的两种方法第一种: Name = input('Input your name: ') Age = input('Input your age: ') Job = input('Input ...

  4. Java编程思想 学习笔记8

    八.多态  在面向对象的程序设计语言中,多态是继数据抽象和继承之后的第三种基本特征. 多态通过分离做什么和怎么做,从另一角度将接口和实现分离开来. “封装”通过合并特征和行为来创建新的数据类型.“实现 ...

  5. python学习笔记9-单元测试unittest

    Python中有一个自带的单元测试框架是unittest模块,用它来做单元测试,它里面封装好了一些校验返回的结果方法和一些用例执行前的初始化操作. 在说unittest之前,先说几个概念: TestC ...

  6. webkitAnimationEnd事件与webkitTransitionEnd事件

    写一个焦点图demo,css3动画完成以后要把它隐藏掉,这里会用到css3的事件,以前没有接触过,结果查了一下发现这是一片新天地啊,而且里面还有好多坑,比如重复动画多次触发什么的.anyway,我还是 ...

  7. android 简单的画图片

    layout: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns: ...

  8. Java EE之 Hibernate 5.x版本中SchemaExport的用法

    //hibernate 5.0.1 Final ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().confi ...

  9. F - New Distinct Substrings (后缀数组)

    题目链接:https://cn.vjudge.net/contest/283743#problem/F 题目大意:给你一个字符串,然后让你求出不同的子串的个数. 具体思路:首先,一个字符串中总的子串个 ...

  10. cetus系列~ 继续分析

    一 简介:我们来继续探讨cetus的细节问题 二 命令 1 select help 查看帮助  2 select * from backends 查看后端列表  3 select conn_detai ...