Laravel - hasManyThrough仅返回_id

时间:2017-09-22 19:20:24

标签: php mongodb laravel eloquent laravel-5.5

我使用了jenssegers和Eloquent Laravel Model的Laravel MongoDB软件包。

  

文章:

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

feed:

     
      
  • ID
  •   
  • USER_ID
  •   
  • 名称
  •   
     

用户:

     
      
  • ID
  •   
  • 名称
  •   
在User :: class model中

hasManyThrough 以获取一个用户的所有文章。

public function articles()
{
    return $this->hasManyThrough(
        'App\Article',
        'App\Feed',
        'user_id', // Foreign key on feeds table...
        'feed_id', // Foreign key on articles table...
        '_id', // Local key on users table...
        'id' // Local key on feeds table...
    );
}

我只使用此查询获得_id(ObjectID):

$user = \App\Models\User::find(1);
dd($user->articles);

你能帮我解决一下这个问题吗?

1 个答案:

答案 0 :(得分:0)

你可以试试这个

$user->articles()->find(1);

如果您想要第一条记录,可以使用find()代替first(),如果您想要使用get()

所有记录

如果您想使用约束where()而不是find()

$user->articles()->where('_id', 1)->first();