@cubaPro

Как вывести последнюю серию в списке сериалов?

Ребята помогите плиз разобраться. Имею таблицу сериалов и серий. Связь one to many. На главной вывожу список сериалов в котором для каждого сериала необходимо отобразить название последней добавленной серии.

Пытался так:
Serial Model
    public function series()
    {
        return $this->hasMany(Series::class, 'serial_id', 'id');
    }

    public function getLastSeriesAttribute()
    {
        return $this->series->first();
    }


Выводится одна серия, однако для каждого фильма загружаются модели всех серии фильма, а их у меня 50-100 для каждого фильма. Есть ли метод решения этой задачи без доп запроса для каждого фильма? Благодарствую за помощь
  • Вопрос задан
  • 71 просмотр
Пригласить эксперта
Ответы на вопрос 2
delphinpro
@delphinpro Куратор тега Laravel
frontend developer
return $this->series()->orderByDesc('номер серии')->first()

->series() - используем метод, а не свойство, для доп условий.
Ответ написан
@jazzus
В модели
public function lastEpisode()
{
     // или с другой сортировкой
    return $this->hasOne(Series::class)->latest();   
}

в контроллере
Serial::with('lastEpisod')
    ->get();

в шаблоне обращаться к lastEpisod у каждого сериала.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы