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();