Laravel - Collection merge()返回单行

时间:2018-01-11 13:55:04

标签: php laravel eloquent laravel-collection

模型集合(Eloquent)存在问题。

我有两个模型ActivationDetail的集合,我需要将它们合并到一个集合中,集合具有相同的结构,因此不难合并它们吗?

好吧,在互联网和API本身搜索我发现了merge()方法,它允许我将两个集合合并为一个。与找到的herehereand 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));

1 个答案:

答案 0 :(得分:1)

如果您正在运行两个在结果集中具有相同列的查询,则可能需要查看unions。这将在一个查询中将两个查询连接起来,为您合并结果。

$query1 = ActivationDetail::[redacted];
$detail = ActivationDetail::[redacted]->union($query1)->get();