4 回答

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超2個(gè)贊
在控制器中 get() 將返回集合,您想要一個(gè)用戶,因此使用 find() 或 first(),它將返回一個(gè)用戶對(duì)象
public function index($id){
$user=User::find($id); //or $user=User::where('id',$id)->first();
return view('user',compact('user'));
}
關(guān)系法
public function posts()
{
return $this->hasMany('App\Post','user_id','id');
}
由于用戶和帖子之間是一對(duì)多的關(guān)系,因此您必須使用循環(huán)來(lái)顯示用戶的帖子
foreach($user->posts as $post)
<div class="profile-content">
<section class="post-heading">
<div class="rows">
<div class="col-md-11">
<div class="media">
<div class="media-left">
<a href="#">
<img class="media-object photo-profile" src="https://scontent.fgyd4-2.fna.fbcdn.net/v/t1.0-9/p960x960/73248174_2597397730318615_6397819353256951808_o.jpg?_nc_cat=109&_nc_sid=7aed08&_nc_ohc=VxH_cAqJ778AX_7B97W&_nc_ht=scontent.fgyd4-2.fna&_nc_tp=6&oh=e5b02c7f91818664cf253e71f2ddf106&oe=5F5F4E74" width="40" height="40" alt="...">
</a>
</div>
<div class="media-body">
<a href="/users" class="anchor-username"><h4 class="media-heading">{{$user->name}} </h4></a>
<a href="#" class="anchor-time">{{$post->created_at}}</a>
</div>
</div>
</div>
<div class="col-md-1">
<a href="#"><i class="glyphicon glyphicon-chevron-down"></i></a>
</div>
</div>
</section>
<section class="post-body">
<p>{{ $post->post_description }}</p> <!-- i stick around here -->
</section>
@endforeach

TA貢獻(xiàn)1779條經(jīng)驗(yàn) 獲得超6個(gè)贊
$users=User::where('id',$id)->get()
; 返回用戶的集合
所以當(dāng)你這樣做時(shí):
@foreach($user->getPosts as $post)
$user
是用戶的集合。該集合沒(méi)有 getPosts() 方法。

TA貢獻(xiàn)1982條經(jīng)驗(yàn) 獲得超2個(gè)贊
您正在返回用戶列表,因此您沒(méi)有一個(gè)用戶,并且無(wú)法擁有所有特定用戶的帖子
下面的代碼可以解決這個(gè)問(wèn)題:
User::where('id', $id)->first();

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊
首先你應(yīng)該像這樣更新你的控制器
User::find($id);
你應(yīng)該像這樣更新你的關(guān)系
public function posts(){ return $this->hasMany('App\Post','user_id','id'); }
之后你應(yīng)該像這樣更新你的刀片
foreach ($user->posts as $post)
您無(wú)法使用 訪問(wèn)帖子->getPosts
。如果你愿意,你應(yīng)該像這樣使用->getPosts()->get()
- 4 回答
- 0 關(guān)注
- 207 瀏覽
添加回答
舉報(bào)