Laravel, где проверяется только последняя запись об отношениях

У меня 2 таблицы (сообщения, исправления) и между ними есть связь
Почта имеет много исправления (отношения "один ко многим")
Таблица Редакции имеет столбец с именем положение дел (одобренный или отклоненный)
Теперь я хочу выбрать все сообщения, если его последний пересмотр - одобренный
Я перепробовал много способов, но смог получить сообщения со статусом одобренный


Обновлять

Я нашел хорошее решение в этом ответе

https://stackoverflow.com/a/53120558/9500574

У вас также есть временные метки в вашей таблице редакций?

nakov 06.11.2018 23:53

да, у меня есть отметки времени

user9500574 06.11.2018 23:57

См. stackoverflow.com/a/53120558/4848587.

Jonas Staudenmeir 07.11.2018 02:24

Спасибо @JonasStaudenmeir, он отлично работает

user9500574 07.11.2018 11:52
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
1
5
1 368
1

Ответы 1

Post::with([ 'revisions' => function($query) {
   $query->orderBy('created_at', 'desc')->where('status', 'approved')->limit(1);   
}])->get()->filter(function($item) {
   return $item->revisions->count() > 0;
});

В сборник будут входить только те сообщения с утвержденными исправлениями.

Большое спасибо, есть ли способ отфильтровать результаты непосредственно во время запроса, без использования метода фильтр после получения результатов

user9500574 07.11.2018 00:42

Без фильтрации нет пути, потому что посты существуют всегда, даже без ревизии.

nakov 07.11.2018 00:44

Другие вопросы по теме