php - Laravel 5.6 通过活动记录选择
问题描述
用户表
离开ID | 用户角色
5 | 1
4,2 | 2
5,2 | 2
1,5 | 1
我想用 user_role=1 和 leave_id=5 和 leave_id=1 获取所有用户
如何使用活动记录(或常规查询)实现?
我的代码是
$user_depart = array(5,1);
$user_role = 1;
$data = DB::table('tbl_users')
->where('user_role', $user_role)
->whereIn('department_id',$user_depart)
->get();
解决方案
您创建了一个错误的数据库结构。最好的方法 - 创建表 users_departs (user_id, leave_id)
然后你可以这样做:
$userDeparts = [5,1];
$userRole = 1;
$users = User::with('users.departs')
->where('users.role_id', $userRole)
->whereIn('departs.id', $userDeparts)
->get();
推荐阅读
- swagger - 大摇大摆地引用 externalFile 中的定义
- javascript - Datepicker 和 FullCalender.io 不能一起运行 datepicker 不是一个函数
- laravel - 在启动时调用 Laravel 控制器方法
- python - 是否可以在运行时替换python文件
- python - Python交集出现顺序不一致
- python - 单击我在 python 中用 selenium 找不到的按钮
- sql - SQL Server 日期存储为“Fri Aug 19 2016 01:00:00 GMT-0400”
- html - 转换伪元素和父元素时 z-index 不起作用
- visual-studio-2017 - 在所有打开的文档中搜索有时包括其他文件
- java - ExoPlayer 无法在 android 上播放视频