Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Здравствуйте, есть две модели связанные отношением многие-ко-многим через промежуточную таблицу
$athlete = Athlete::with(['groups'])->find($id)
Как вытащить название группы из таблицы groups у которой в промежуточной таблице наибольшая дата?
Посмотрел подобные темы на форуме попробовал сделать вот так:
$groups = $athlete->groups()
->wherePivot('created_at', '1974-07-24 06:47:31')
->get();
А как теперь сделать что бы запрос сам фильтровал дату по максимальной?
Не в сети
Ну в общем случае выбрать запись с максимальным чем-то это
...
order by something desc
limit 1
пивот таблица она такая же таблица как и другие, имеет имя и присоединена к запросу через join. поэтому думаю на неё можно ссылатся. не проверял.
$athlete = $athlete->groups()->orderBy('athlets_groups.created_at', 'desc')->first();
если не сработает, то можно использовать явный синтаксис join() для пивот и групп вместо "автоматического" ->groups()
There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
Не в сети
Спасибо тебе добрый человек! Все заработало, и как всегда оказалось проще чем я думал.
Не в сети
Страницы 1