【发布时间】:2023-04-06 22:54:01
【问题描述】:
我想从模型关系中返回不同的值:
我目前有三种型号:
发帖
评论
评分
我想显示
此评论有以下评级金,铜,铂
每条评论可以有很多评分,因此每个帖子可能有 10 个金奖,我尽量避免看到金奖 10 次
目前为止
@foreach ($post->comments as $comment)
@foreach ($comment->rating as $rating)
<dd class="text-gray-900">{{ $rating->name }}</dd>
@endforeach
@endforeach
然而这会返回
黄金黄金青铜铂金
我想要的是每个评分只看到一次
金铜铂金
我尝试过不添加 foreach 而是回显
{{ $post->comments->rating->distinct() }}
但这会返回以下错误
Property [ratings] does not exist
所以如果我只是回应
{{ $post->comments }}
我可以看到 rating_id,所以我知道我需要的东西是可用的,我只是不知道如何访问它
[{"id":1,"created_at":null,"updated_at":null,"comment":"test post","pivot":{"post_id":11,"comment_id":1},"ratings":[{"id":1,"created_at":null,"updated_at":null,"name":"rating gold","pivot":{"comment_id":1,"rating_id":1}},{"id":2,"created_at":null,"updated_at":null,"name":"rating silver","pivot":{"comment_id":1,"rating_id":2}}]},
我不太清楚如何在 foreach 循环之外访问这些数据
【问题讨论】:
-
你能分享一下这些模型的表结构吗?