分享一段感情?

时间:2016-08-18 13:44:33

标签: laravel laravel-5 eloquent laravel-5.2

我试图找到一个用户并对他们的帖子进行分页,我试过了:

User::find($id)->posts()->paginate();

这会对帖子进行分页,但我丢失了用户信息。我还需要获取用户信息以及他们的帖子。

我该怎么做?

3 个答案:

答案 0 :(得分:2)

这可以通过在预先加载时传递函数来完成:

User::find($id)->with(['posts' => function($query) use ($limit) {
    $query->paginate($limit);
}])->get();

答案 1 :(得分:-1)

反过来

$posts = Post::where('user_id',$user_id)->with('user')->paginate();

访问用户

foreach ($posts as $post){
    $post->user;
}

答案 2 :(得分:-1)

我没有对此进行过测试,但我相信它可以像这样工作

$user = User::find($id)

将其发送到视图,然后您可以访问用户

{{ $user->property }}

和他的帖子

@foreach ($user->posts()->paginate(15) as $post)
    // do something
@endforeach
{{ $user->posts()->links() }}

<强>更新
然而,这不是最好的做法。 您还可以向视图发送$ user和$ user-&gt; posts() - &gt; paginate()。