dqdjfb2325
2017-09-18 16:11
浏览 36
已采纳

如何通过中间表在一个模型中使用Eloquent到另一个模型

i have three models

Article

id 
title 

Comment

id
title
user_id
article_id

User

id 
name

what i wanna achieve is to select one article based on its id with comments and user info that made that comment

like that :

$article = Article::find($id -- say 1)->with('comments' -- this is a relation in Article Model)->get(); 

this gives me article with related comments as an array of objects say comment one - comment two etc ....

what i want instead of user_id in comment object i wanna it to be a user object

see this pic thats what i reached so far

screen of what i have done

using laravel 5.4

图片转代码服务由CSDN问答提供 功能建议

我有三个模型

文章 < / p>

  id 
title 
   
 
 

评论 < pre> id title user_id article_id

用户

  id 
name 
   
 
 

我想要达到的目的是根据其ID以及发表该评论的评论和用户信息选​​择一篇文章 \ n

就像那样:

  $ article = Article :: find($ id  -  say 1) - &gt; with('comments' - 这是一种关系 在文章模型中) - &gt; get();  
   
 
 

这给了我带有相关注释的文章作为一个对象数组说注释一 - 注释二等....

我想要的而不是评论对象中的user_id我希望它是一个用户对象

看到这张照片是我到目前为止所得到的

< a href =“https://i.stack.imgur.com/rA9X9.png”rel =“nofollow noreferrer”> <

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • doumao8355 2017-09-18 16:23
    已采纳

    You can use following:

    $articles = Article::find($id)->with('comments', 'comments.user')->get();
    

    Here 'user' is the relationship you mentioned in the comments model for User.

    评论
    解决 无用
    打赏 举报
查看更多回答(1条)

相关推荐 更多相似问题