首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >laravel-7系列集合合并不起作用

laravel-7系列集合合并不起作用
EN

Stack Overflow用户
提问于 2020-09-27 12:23:12
回答 1查看 258关注 0票数 0

我试图在我的功能中返回一个雄辩的集合,所以我这样做了:

代码语言:javascript
复制
// model
// User.php
// user -> branch -> groups -> alerts

public function alerts()
    {
        $alerts = (new Alert)->newCollection(); // empty elequent collection
        $groups = $this->branch()->first()->groups()->get(); // collection of group model
        foreach ($groups as $group) {
            // merge all groups alerts to an single eloquent collection
            $alerts->merge($group->alerts()->get());
        }
        return $alerts;
    }

然而,我知道我的数据库中有一些数据,我检查了它们。在我的情况下,$alerts不能是空的!

如果我是dd($alerts),那么只有一组empty雄辩的集合。

代码语言:javascript
复制
// dd($alerts)
Illuminate\Database\Eloquent\Collection {#1423 ▼
  #items: []
}

另外,我知道pushconcat方法,但是concat也不起作用,push不做我想做的事情。

我知道我可以做联接表,但也不想使用联接。

如何正确地合并雄辩的集合?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-27 12:33:16

代码语言:javascript
复制
foreach ($groups as $group) {
    $alerts = $alerts->merge($group->alerts()->get());
}

您忘记分配合并的集合。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64088424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档