我有以下三种模型:
-评论
-有很多评论的项目
-具有很多项目和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
。*,items
。list_id
作为{{1} },来自{{1}上的laravel_through_key
内部联接comments
。items
= items
。id
其中comments
。item_id
= 15)