Laravel 5.5 : MongoDB & hasManyThrough() 关系

Laravel 5.5 : MongoDB & hasManyThrough() relation

我使用 MongoDB 和 Laravel: https://github.com/jenssegers/laravel-mongodb

我有两个表(feeds、users)和一个关于 MongoDB 的集合(articles)形式:

articles (MongoDB):

  • _id (ObjectID)
  • feed_id
  • title

feeds (MySQL):

  • id
  • user_id
  • name

users (MySQL):

  • id
  • name

我想在路过"feeds"时检索一个用户的所有文章。

为此,我在用户模型中使用 hasManyThrough() 关系:

public function articles()
    {
        return $this->hasManyThrough(
            Article::class,
            Feed::class,
            'user_id',
            'feed_id',
            '_id',
            'id'
        );
    }

但问题是,在每个用户上,我列出了相同的文章,看起来没有考虑到user_id...

https://github.com/jenssegers/laravel-mongodb 包不支持 $this->hasManyThrough - 关系。

关系支持的关系是:

  1. 有一个
  2. 有很多
  3. 属于
  4. 属于多人
  5. 嵌入一个
  6. 嵌入许多

您可以查看文档: https://github.com/jenssegers/laravel-mongodb