Laravel красноречивый имеет много через модель доступа - PullRequest
0 голосов
/ 26 октября 2019

У меня есть три модели следующим образом:
-комментарии
-пункт, имеющий 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)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...