Laravel 5.5:MongoDB& hasManyThrough()关系

时间:2017-09-27 13:29:32

标签: php mysql mongodb laravel-5.5

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

我有两个表(供稿,用户)和MongoDB上的集合(文章),它们以这种形式出现:

  

文章(MongoDB):

     
      
  • _id(ObjectID)
  •   
  • FEED_ID
  •   
  • 标题
  •   
     

feeds(MySQL):

     
      
  • ID
  •   
  • USER_ID
  •   
  • 名称
  •   
     

用户(MySQL):

     
      
  • ID
  •   
  • 名称
  •   

我希望在传递“Feed”时检索用户的所有文章。

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

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

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

1 个答案:

答案 0 :(得分:0)

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

关系支持的关系是:

  1. hasOne
  2. hasMany
  3. belongsTo
  4. belongsToMany
  5. embedsOne
  6. embedsMany
  7. 您可以查看文档: https://github.com/jenssegers/laravel-mongodb