Laravel雄辩的hasManyThrough模型访问

时间:2019-10-26 07:39:10

标签: laravel eloquent

我有以下三种模型:
-评论
-有很多评论的项目
-具有很多项目和hasManyThrough('comment','item)的列表
这意味着我有很多项目的列表和有很多评论的项目。评论通过hasManyThrough项目链接到列表。 列表如下:

class List extends Model{
protected $fillable = ['title','description','user_id'];

public function items()
{
  return $this->hasMany('App\Item');
}

public function comment()
{
    return $this->hasManyThrough('App\Comment', 'App\Item');
}}

项目:

class Item extends Model
{
    //
    protected $guarded = [];

    protected $fillable = ['title','description','user_id','list_id'];

    public function comment(){
        return $this->hasMany('App\Comment');
    }

    public function list(){
      return $this->belongsTo('App\List');
    }

}

和评论:

class Comment extends Model
{
    //
    protected $fillable = ['content','item_id','user_id'];
    public function items(){
      return $this->belongsTo('App\Item');
    }

}

如何访问与每个列表相关的评论?
编辑:当我尝试访问ID = 15的列表的评论时,例如$ list-> comments,出现以下错误:
SQLSTATE [42S22]:找不到列:1054“字段列表”中的未知列“ items.list_id”(SQL:选择comments。*,itemslist_id作为{{1} },来自{{1}上的laravel_through_key内部联接commentsitems = itemsid其中commentsitem_id = 15)

0 个答案:

没有答案