У меня есть три модели следующим образом:
-комментарии
-пункт, имеющий hasMany комментариев
-list, который имеетMany items & 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
как laravel_through_key
из comments
внутреннее объединение items
в items
. id
=comments
. item_id
, где items
. list_id
= 15)