【发布时间】:2017-07-08 03:10:43
【问题描述】:
我正在尝试显示帖子上留下的最后回复。但只有它的名称和日期。我尝试了以下方法
我认为这个人应该做的是查看对帖子的回复。按 ID 对它们进行排序,然后显示第一个的用户名。但它不起作用。
$topic->replies->sortBydesc('id')->first()->user->username }}
我也试过这个,我要求整个论坛的所有回复并显示最后一个。它有效,但我不是与帖子相关的人。
{{ $allposts->sortBydesc('id')->first()->user->username }}
有谁知道我怎样才能做到这一点? 目前,我正在将这两个传递到视图中(这些没有任何问题,它们有效,但我认为应该添加一些东西)
public function show($id)
{
$topics = Topic::with('theme')->find($id);
$theme = Theme::with('topics')->find($id);
return view('themes.theme')->with('topics', $topics)->with('theme', $theme);
}
提前致谢
【问题讨论】:
-
是主题->回复一个由关系连接的单独模型?如果是这样,您需要预先加载类似于 topic->theme 的内容。
-
我将主题传递给视图,如果我执行
{{ $topic->replies->count() }}之类的操作,它会计算与该主题相关的每个回复,因此$topic->replies->sortBydesc('id')->first()->user->username }}之类的操作对我来说很有意义。相信我的关系并没有错。
标签: php laravel laravel-5 laravel-5.2 laravel-5.1