laravel 查询
public function recommends(Request $request)
{
// $sort = $request->query('sort');
$userId = $request->query('userId');
$email = $request->query('email');
$name = $request->query('name');
$phone = $request->query('phone');
// $role = $request->query('role');
$perPage = $request->query('perPage', 1);
$showRole = $request->has('show_role');
$datas = [
'page' => [],
'roles' => '',
'lastPage' => 0,
'perPage' => $perPage,
'total' => 0,
]; if ($showRole) {
$datas['roles'] = Role::all();
} // user id
if ($userId && $users = UserRecommended::where('user_id', $userId)->paginate($perPage)) {
$datas['page'] = $users->map(function ($user) {
$user->setHidden([]);
$user->load('user'); return $user->user;
}); return response()->json($datas)->setStatusCode(200);
} $sourceUsers = [];
if ($name || $email || $phone) {
$sourceUsers = User::when($name, function ($query) use ($name) {
return $query->where('name', 'like', "%{$name}%");
})
->when($email, function ($query) use ($email) {
return $query->where('email', '=', $email);
})
->when($phone, function ($query) use ($phone) {
return $query->where('phone', 'like', "%{$phone}%");
})
->select('id')
->get()
->pluck('id');
} $users = UserRecommended::with('user')
->when($sourceUsers, function ($query) use ($sourceUsers) {
return $query->whereIn('user_id', $sourceUsers);
})
->paginate($perPage); $list = $users->getCollection(); $datas['page'] = $list->map(function ($user) {
$user->user->setHidden([]); return $user->user;
}); $datas['lastPage'] = $users->lastPage();
$datas['perPage'] = $perPage;
$datas['total'] = $users->total();
$datas['currentPage'] = $users->currentPage(); return response()->json($datas)->setStatusCode(200);
}
laravel 查询的更多相关文章
- laravel 查询数据返回的结果
laravel查询数据返回的结果 在插入数据库的时候,发现查询数据返回的结果是一个对象;即使是空数据 返回的不是true或者false 那么要判断该结果是否查询有结果 该如果呢? 学习源头: http ...
- Laravel查询构造器简介
数据表 CREATE TABLE IF NOT EXISTS students( `id` INT AUTO_INCREMENT PRIMARY KEY, `name` VARCHAR(255) NO ...
- Laravel 查询包括软删除的记录
查询结果包括已被软删除的记录: Model::withTrashed()->get(); 只查询软删除记录: Model::onlyTrashed()->get(); PS:个人博客-La ...
- laravel 查询构建器(连贯操作)
注:laravel 查询返回行的都是 php 的 stdClass 对象实例,不是数组!!!! 1)查询多行(get) DB::table('table_name')->get(); 带偏移和限 ...
- laravel查询数据库获取结果如何判断是否为空?
laravel 查询数据库获取结果如何判断是否为空? 大家使用的场景是这样的: 1 $users = DB::table('users')->where('id',$id)->get(); ...
- laravel查询构造器中别名的问题
Laravel框架对数据库的封装是比较完善的,用起来也比较方便.但之前有一个问题一直困扰着我,就是利用laravel作查询时.如果想给表名或是字段名起别名是比较麻烦的事.但翻阅它的文档不难发现,它提供 ...
- laravel 查询数据库first()返回的数据转数组
使用 get_object_vars()可以将他抓转为数组get_object_vars — 返回由对象属性组成的关联数组: 在laravel中其实还可以用 toArray(); json_decod ...
- Laravel查询构造器的使用方法整理
1.结果集 1.1从一张表获取所有行,get方法获取所有行 $users = DB::table('users')->get(); 获取列的值 foreach ($users as $user) ...
- laravel -查询近7月走势图案例
// 获取7月前的时间$time = date('Y-m',strtotime("-0 year -7 month -0 day" ));$where['created_at'] ...
- laravel 查询构造器2
//查询构造器 public function query() { //获取所有的数据 $student = DB::table('student')->get(); var_dump($stu ...
随机推荐
- NPOI2.2.0.0实例详解(九)—设置EXCEL单元格【时间格式】
原文:http://blog.csdn.net/xxs77ch/article/details/50245391 using System; using System.Collections.Gene ...
- Spring基础3
一.AOP 1)AOP简介: Aspect Oriented Programming,面向切面编程 通过预编译方式和动态代理实现程序功能的一种技术,AOP是OOP的延续,是函数式编程的一种衍生范例.利 ...
- [kuangbin带你飞]专题一 简单搜索(回顾)
A - 棋盘问题 POJ - 1321 注意条件:不能每放一个棋子,就标记一行和一列,我们直接枚举每一行就可以了. AC代码: #include<iostream> #include< ...
- VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNTION(翻译)
0 - ABSTRACT 在这个工作中,我们研究了卷积网络的深度对于它在大规模图像识别设置上的准确率的效果.我们的主要贡献是对使用非常小的卷积核(3×3)来增加深度的网络架构进行彻底评估,这说明了通过 ...
- 虚拟机克隆后无法上网的解决(Centos7为例)
说明:我的虚拟机之前配置的为静态ip 解决步骤: (1)更换mac地址 (2)删除 etc/udev/rules.d/70-persistent-net.rules 删除后重启机器,系统会自动生成一个 ...
- 2017-2018-2 20165234 实验四《Android程序设计》实验报告
一.实验报告封面 课程:Java程序设计 班级:1652 姓名:刘津甫 学号:20165234 指导教师:娄嘉鹏 实验日期:2018年5月14日 实验时间:13:45 - 3:25 ...
- 【windows下进程searchfilterhost.exe分析】
searchfilterhost.exe [进程信息] 进程文件: searchfilterhost.exe 进程名称: n/a 英文描述: searchfilterhost.exe is a pro ...
- VC中的字符串转换宏
ATL7.0引入了几个新的转换类和宏,现有的宏提供了显着的改善.新的字符串转换类和宏的名称,采取的形式如下: C SourceType [C]DestinationType[EX] ...
- 深入学习NAT工作原理
深入学习NAT工作原理 我们单位中的电脑很多,组成了一个局域网,网络中只有一个电脑和外网(Internet)相连,当然有一个外网地址,但仅仅一个.我以前一直不明白,我们局域网的电脑均能上网,几台同时上 ...
- java 编程思想
博主介绍了很多Java的基础知识,很适合初学者. http://blog.csdn.net/iaiti/article/details/38260599