为了账号安全,请及时绑定邮箱和手机立即绑定

在数据透视表中我存储了 post_id 和 category_id 如何从数据透视表中获取我

在数据透视表中我存储了 post_id 和 category_id 如何从数据透视表中获取我

PHP
弑天下 2022-07-16 11:07:13
这是我的类别模型    namespace App;    use Illuminate\Database\Eloquent\Model;    class Category extends Model    {      public function posts()      {          return $this->belongsToMany('App\Post')->withTimestamps();      }    }这是我的帖子模型    namespace App;    use Illuminate\Database\Eloquent\Model;    class Post extends Model    {      public function categories()      {          return $this->belongsToMany('App\Category')->withTimestamps();      }      public function tags()        {            return $this->belongsToMany('App\Tag')->withTimestamps();        }      public function user()       {           return $this->belongsTo('App\User');       }    }这是我的索引功能    public function index()        {          $posts=Post::latest()->get();          return view('admin.post.index',compact('posts'));        }这是我的查看页面      @foreach($posts as $post)         <tr>               <td>{{ $post->id }}</td>               <td>{{ str_limit($post->title,'10') }}</td>               <td>{{$post->categories->pivot->name}}</td>         </tr>       @endforeach当我想回显我的类别名称时,laravel 给了我这个错误。此集合实例上不存在 ErrorException (E_ERROR) 属性 [pivot]。(查看:C:\xampp\htdocs\Advanced_Blog_System\resources\views\admin\post\index.blade.php)我只需要查看类别名称我该如何解决这个问题???
查看完整描述

2 回答

?
猛跑小猪

TA贡献1858条经验 获得超8个赞

Post 和 Category 都具有多对多的关系,因此您需要另一个 foreach 类别;


@foreach($post->categories as $category)

    {{$category->name}}

@endforeach


查看完整回答
反对 回复 2022-07-16
?
慕丝7291255

TA贡献1859条经验 获得超6个赞

尝试

<td>{{$post->categories->name}}</td>

试一试不确定它是否有效!


查看完整回答
反对 回复 2022-07-16
  • 2 回答
  • 0 关注
  • 98 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信