在下面的控制器中,如果我返回$friendPosts
(具有帖子ID),则视图中的ID会显示没有问题。
但是当我尝试返回$sharedPosts
(具有整行)时,视图中没有任何内容。
public function getProfile($email)
{
$myFriends = Auth::user()->friends()->lists('id');
$friendShares = Share::where('user_id',$myFriends)->get();
$friendPosts = $friendShares->lists('post_id');
$sharedPosts = Post::where('id', $friendPosts)->get();
return view('profile.index')
->with ('friendShares', $sharedPosts);
}
@foreach ($friendShares as $friendShares)
<p> {{$friendShares}}</p>
@endforeach
答案 0 :(得分:0)
$myFriends = Auth::user()->friends()->lists('id');
$friendShares = Share::where('user_id',$myFriends)->get();
$friendPosts = $friendShares->lists('post_id');
$sharedPosts = Post::where('id', $friendPosts)->get();
应该是
$myFriends = Auth::user()->friends()->lists('id');
$friendShares = Share::whereIn('user_id',$myFriends)->get();
$friendPosts = $friendShares->lists('post_id');
$sharedPosts = Post::whereIn('id', $friendPosts)->get();
您正在处理更多ID,而不只是一个,因此您必须使用whereIn()
来查看值数组。
如果你告诉我们你真正想要/试图用你的代码做什么,下次会很有用。