相当奇怪的错误。
在我的用户页面上,我会传递用户数据。
{{ $user->username }}
这将传递正确的用户名。
但是,如果我这样做:
{{ $user->username }}
@if ($followers->count())
<h2>Following</h2>
@foreach ($followers as $user)
@include('user/partials/userblock')
@endforeach
@endif
{{ $user->username }}
第一个$ user-&gt;用户名将正确输出,但最后一个将实际返回在foreach中循环的最后一个用户!
为什么会这样?
这是用户控制器,对于那些想知道:
public function getUser($username) {
$user = User::where('username', $username)->first();
if (!$user) {
return redirect()->route('home')->with('info', 'User not found.' );
}
$followers = $user->followers();
return view('user.index')
->with('user', $user)
->with('followers', $followers);
}
答案 0 :(得分:2)
只需使用另一个变量:
@foreach ($followers as $follower)
@include('user/partials/userblock', ['user' => $follower])
答案 1 :(得分:1)
你可以使用另一个变量,如下所示:
public function getUser($username) {
$cuser = User::where('username', $username)->first();
if (!$cuser) {
return redirect()->route('home')->with('info', 'User not found.' );
}
$followers = $cuser->followers();
return view('user.index')
->with('cuser', $cuser)
->with('followers', $followers);
}
你的刀片:
{{ $cuser->username }}
@if ($followers->count())
<h2>Following</h2>
@foreach ($followers as $user)
@include('user/partials/userblock')
@endforeach
@endif
{{ $cuser->username }}
希望这有效!