gpt4 book ai didi

php - 获取关注者的帖子 laravel

转载 作者:行者123 更新时间:2023-12-03 02:32:49 24 4
gpt4 key购买 nike

我想为经过身份验证的用户显示一个提要页面,其中显示他们关注的用户的最新帖子。我已经设置了一个跟踪系统,其中包含以下内容:

标签:

  • 帖子
  • 用户
  • 关注

用户模型:

 public function follow() {  
return $this->BelongsToMany( 'User', 'Follow' ,'follow_user', 'user_id');
}

进给 Controller :

public function feed () {

$user = (Auth::user());

return View::make('profile.feed')->with('user',$user);

}

饲料 Blade

  @foreach ($user->follow as $follow)

@foreach ($follow->posts as $post)

//* post data here.

@endforeach

@endforeach

这是从用户关注的用户中提取帖子,但是我有一个问题。 foreach 每次都会返回一个用户,然后返回他们的帖子。

它现在在做什么:

已关注用户 1

  • 帖子 1
  • 帖子 2
  • 发布 3 等

已关注用户 2

  • 帖子 1
  • 帖子 2
  • 发布 3 等

我想显示的内容:

  • 已关注用户 1 条帖子 1
  • 关注了用户 2 的帖子 1
  • 已关注用户 2 帖子 2
  • 已关注用户 1 帖子 2 等

有什么想法吗?

最佳答案

<?php
/**
* Get feed for the provided user
* that means, only show the posts from the users that the current user follows.
*
* @param User $user The user that you're trying get the feed to
* @return \Illuminate\Database\Query\Builder The latest posts
*/
public function getFeed(User $user)
{
$userIds = $user->following()->lists('user_id');
$userIds[] = $user->id;
return \Post::whereIn('user_id', $userIds)->latest()->get();
}

首先,您需要获取当前用户关注的用户及其 ids,以便将其存储在 $userIds 中。

其次,您需要提要也包含您的帖子,因此您也将其添加到数组中。

第三,您返回帖子的 posterauthor 位于我们从第一步获取的数组中。

抓取它们并按照从最新到最旧的顺序存储它们。

有任何问题欢迎提问!

关于php - 获取关注者的帖子 laravel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28653215/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com