gpt4 book ai didi

php - 如何在 Laravel 5.x 中将多个集合合并为一个集合?

转载 作者:行者123 更新时间:2023-11-29 03:23:20 25 4
gpt4 key购买 nike

我正在使用 Laravel 5.3 和 mariaDB 10.1.x。

我有几个 SQL 查询将用于一个报表。我想使用多个查询(每个查询根本不是那么简单),而不是出于维护目的的一个复杂的单个查询。

我想做的是将每个查询的结果转化为集合格式,并将这些结果与单个集合结合起来,就像来自一个大查询的集合一样。

(1) 来自第一个查询的集合

$a = DB::table('first_name')->where(...)->join(...)->leftJoin(...)->get();

result
-----------------------
primary_key first_name
1 John
2 Mary
-----------------------

(2) 来自第二个查询的集合。

$b = DB::table('last_name')->where(...)->join(...)->leftJoin(...)->get();

Result
-----------------------
primary_key last_name
1 Doe
2 Jane
-----------------------

(3) 我想要的集合(使用 primary_key 组合 (1) + (2) )

-----------------------------------
primary_key first_name last_name
1 John Doe
2 Mary Jane
-----------------------------------

感谢您的帮助。

最佳答案

这个怎么样?不确定这是否是最好的方法:

$keyedA = $a->keyBy('primary_key')->all();
$keyedB = $b->keyBy('primary_key')->all();
$combined = array_merge_recursive($keyedA, $keyedB);

虽然我没有看到任何辅助方法进行键合并,但不确定我是否阅读正确

关于php - 如何在 Laravel 5.x 中将多个集合合并为一个集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40333977/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com