mysql - 从两个表中获取数据并忽略 laravel 中的重复值
问题描述
我在 laravel 有两张桌子。table_2 有一个外键,即 users_id,所以我想从两个表中获取数据并删除重复的条目。为此,我在控制器中创建了两个查询
$new=DB::table('tabl-1')
->join('tbl2','tbl1.id','=','tbl2.foreign_key')
->orWhereDate('created_at','<' ,Carbon::today())
->orWhereDate('created_at', Carbon::today())
->orWhereNull('created_at')
->select('tbl_1.created_at as date','tbl1.foreign_key as data_id')
->where('user_id',$users_id)
->get()
->toArray();
$old = DB::table('tbl-2')
->join('tbl1','tbl2.foreign_key','=','tbl1.id')
->where('user_id',$users_id)
->whereRaw('id IN (select MAX(id) FROM tbl2 GROUP BY foreign_key)')
->select('tbl_2.created_at as date','tbl2.foreign_key as data_id')
->get()
->toArray();
$data=array_merge($old,$new);
旧数组工作正常,但新数组打印 data.id 的重复值,我应该怎么做才能从旧数组中获取所有数据,但是当移入新数组时,它显示除了旧数组中已经显示的所有行
解决方案
推荐阅读
- java - SQLData 使用接口读取映射对象
- android - Android:JSON 对象 getString
- reactjs - 异步函数的 useState Hook 并发问题
- javascript - 尝试实时搜索分页表的错误 JavaScrit 代码
- r - 如何使用 difftime 列初始化 tibble
- firebase - Firestore - 每个帐户有多个集合或子集合
- python - 我需要让基于时间的记分牌更好地工作
- javascript - 为什么 JavaScript RegExp 在 Firefox 中不起作用?
- database - 仅比较时间戳列 postgresql 中的小时数
- swift - 如何在 Swift 中使列表完全透明?