1

我对模型集合(Eloquent)有疑问。

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

好吧,在互联网和 API 本身中搜索,我发现了merge()允许我将两个集合合并为一个的方法。就像在这里这里这里找到的一样。

但是,此方法返回我一行。(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));
4

1 回答 1

1

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

$query1 = ActivationDetail::[redacted];
$detail = ActivationDetail::[redacted]->union($query1)->get();
于 2018-01-11T14:01:01.247 回答