亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我無法在用戶的個人資料中列出用戶的帖子。我在用戶模型中使用一對多關系

我無法在用戶的個人資料中列出用戶的帖子。我在用戶模型中使用一對多關系

PHP
天涯盡頭無女友 2023-10-21 16:25:52
//這是我的控制器`公共函數索引($id){    $users=User::where('id',$id)->get();    return view('user',compact('users'));}}`//這是我的用戶模型   public function getPosts(){    return $this->hasMany('App\Post','user_id','id');}//這是我的用戶刀片 @foreach($user->getPosts 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">{{$user->$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>{{  $user->getPost->post['post_description']  }}</p> <!--  i stick around here -->            </section>//它給了我這個錯誤此集合實例上不存在屬性 [getPosts]。(查看:C:\xampp\htdocs\site\resources\views\user.blade.php)
查看完整描述

4 回答

?
慕婉清6462132

TA貢獻1804條經驗 獲得超2個贊

在控制器中 get() 將返回集合,您想要一個用戶,因此使用 find() 或 first(),它將返回一個用戶對象


public function index($id){


    $user=User::find($id); //or $user=User::where('id',$id)->first();


    return view('user',compact('user'));


}

關系法


public function posts()

{

    return $this->hasMany('App\Post','user_id','id');

}

由于用戶和帖子之間是一對多的關系,因此您必須使用循環來顯示用戶的帖子


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


查看完整回答
反對 回復 2023-10-21
?
哆啦的時光機

TA貢獻1779條經驗 獲得超6個贊

$users=User::where('id',$id)->get(); 返回用戶的集合

所以當你這樣做時:

@foreach($user->getPosts as $post)

$user是用戶的集合。該集合沒有 getPosts() 方法。


查看完整回答
反對 回復 2023-10-21
?
臨摹微笑

TA貢獻1982條經驗 獲得超2個贊

您正在返回用戶列表,因此您沒有一個用戶,并且無法擁有所有特定用戶的帖子

下面的代碼可以解決這個問題:

   User::where('id', $id)->first();


查看完整回答
反對 回復 2023-10-21
?
蝴蝶不菲

TA貢獻1810條經驗 獲得超4個贊

首先你應該像這樣更新你的控制器

User::find($id);

你應該像這樣更新你的關系

public function posts(){
    return $this->hasMany('App\Post','user_id','id');
}

之后你應該像這樣更新你的刀片

foreach ($user->posts as $post)

您無法使用 訪問帖子->getPosts。如果你愿意,你應該像這樣使用->getPosts()->get()


查看完整回答
反對 回復 2023-10-21
  • 4 回答
  • 0 關注
  • 210 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號