Laravel - Collection merge() 返回单行
Laravel - Collection merge() returning a single row
我对模型集合 (Eloquent) 有疑问。
我有两个模型集合 ActivationDetail
,我需要将它们合并成一个集合,集合具有相同的结构,所以合并它们并不难吧?
嗯,在 Internet 和 API 本身进行搜索后,我发现了 merge()
方法,它允许我将两个集合合并为一个。喜欢发现 here, , .
但是,此方法只返回一行。 (sizeof($detail)
正在返回 1)虽然格式正确,但我不知道我在这里遗漏了什么。
我做错了什么?
//first collection
$detail = ActivationDetail::[redacted]->get();
// second collection, the query is of the same structure
// as the previous one, but it's edited to allow the selection
// of null fields (which can't be possible in the previous
// due how Inner Joins work)
$detailB = ActivationDetail::[redacted]->get();
$detail = $detail->merge($detailB);
//this returns "1"
dd(sizeof($detail));
如果您 运行 两个查询在结果集中具有相同的列,您可能需要查看 unions。这会将两个查询合并为一个查询,为您合并结果。
$query1 = ActivationDetail::[redacted];
$detail = ActivationDetail::[redacted]->union($query1)->get();
我对模型集合 (Eloquent) 有疑问。
我有两个模型集合 ActivationDetail
,我需要将它们合并成一个集合,集合具有相同的结构,所以合并它们并不难吧?
嗯,在 Internet 和 API 本身进行搜索后,我发现了 merge()
方法,它允许我将两个集合合并为一个。喜欢发现 here,
但是,此方法只返回一行。 (sizeof($detail)
正在返回 1)虽然格式正确,但我不知道我在这里遗漏了什么。
我做错了什么?
//first collection
$detail = ActivationDetail::[redacted]->get();
// second collection, the query is of the same structure
// as the previous one, but it's edited to allow the selection
// of null fields (which can't be possible in the previous
// due how Inner Joins work)
$detailB = ActivationDetail::[redacted]->get();
$detail = $detail->merge($detailB);
//this returns "1"
dd(sizeof($detail));
如果您 运行 两个查询在结果集中具有相同的列,您可能需要查看 unions。这会将两个查询合并为一个查询,为您合并结果。
$query1 = ActivationDetail::[redacted];
$detail = ActivationDetail::[redacted]->union($query1)->get();