Как отсортировать и загрузить лимит по полю сводной таблицы отношения «многие ко многим» в Eloquent ORM laravel - PullRequest
0 голосов
/ 24 сентября 2019

У меня есть модель категории

public function comics()
{
    return $this->belongsToMany(Comic::class);
}

public function chapters()
{
    return $this->hasManyThrough(Chapter::class, Comic::class);
}

Модель комиксов

public function categories()
{
    return $this->belongsToMany(Category::class);
}

public function chapters()
{
    return $this->hasMany(Chapter::class)->orderBy('id', 'desc');
}

Модель главы

public function comic()
{
    return $this->belongsTo(Comic::class);
}

Как узнать, когда я вызываю маршрут category/category-slug itотобразит все комиксы жанра и отсортирует по updated_at этой комической таблицы и покажет последние 3 главы каждого комикса?

Я пытался использовать eloquent-eager-limit пакет для загрузки с ограничением, но не сортируется по столбцу updated_at таблицы комиксов, а по таблице глав.

$category = Category::where('slug', $categorySlug)->with(['comics.chapters' => function ($query) {
        $query->latest()->limit(3);
    }])->get();
...