laravel eloquent 嵌套评论和回复
问题描述
几天前,我看到一个网站,用户可以在其中评论帖子.其他用户可以回复.并且重播可以有像下面的示例截图一样的回复..
Few days ago, I saw a website where users can comment on a post. Other users can reply on that. and a replay can have replies like the example screenshot below..
所以我想试一试,但不知何故无法弄清楚.这是我的数据库设置
So I thought to give it a try but somehow couldnt figure it out. here is my database set up
模型中的关系
在控制器中
这完美地返回了评论和回复.但是如果有reply的回复,就不会显示了.我怎样才能做到这一点?需要建议.
this perfectly returns the comment and replies. But if there is a reply of reply, it doesnt show up. How can I do that? Need suggestion.
推荐答案
将 reply_id
与 nullable()
parent_id
交换.所以基本上你想知道评论是否有父级.
Swap reply_id
with a nullable()
parent_id
. So basically you want to know if a comment has a parent.
然后在Comment
模型中,添加一个self关系来获取所有parent_id
匹配的评论.
Then in Comment
model, add a self relationship to take all comments whose parent_id
match.
在您的视图中,您可以为每个评论及其回复嵌套循环
In your view you can have nested loops for each comments and its replies
这篇关于laravel eloquent 嵌套评论和回复的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!