【发布时间】:2015-12-23 21:52:15
【问题描述】:
我正在尝试获取用户的链接业力(就像 reddit 一样)并将其显示在他的个人资料页面上。
用户:ID、姓名、电子邮件、密码..
帖子:id、user_id、标题、链接、文本...
投票:id、user_id、post_id...
我需要能够获取用户提交的所有帖子的“投票”表中“价值”字段的总和
这是我现在使用的,一个快速的dd($user) 将检索用户的所有帖子和投票。但是在视图上使用{{ $post->votes->sum('value') }} 将分别检索每个帖子的总和,而不是全部一起检索。我该怎么做?
public function show($user)
{
$user = User::whereName($user)->with('posts.votes')->first();
return view('user/profile')->with('user', $user);
}
请注意,dd($user) 会检索用户的所有帖子及其投票。
视图(与用户相关的帖子显示的次数与不应该发生的情况一样多)
@foreach($user->posts as $post)
Link Karma: {{ $post->votes->sum('value') }}
@endforeach
【问题讨论】:
-
你在 $user->votes 上尝试过 haveManyThrough() 吗?
-
不,我没有。我还没有遇到过这种方法。
-
查看文档。这很容易。我认为它会工作;)
-
@Mithredate
$user->votes会给我用户的投票,我想要每个人在他(用户)帖子上的投票。 -
那么我认为你缺少括号。
标签: php laravel laravel-5 eloquent eager-loading