Laravel версия: 7.0
Я собираюсь получить список от модели Guest
.
guests table: id, name, status, created_at, updated_at
$guests = Guest::orderby("status")->get();
Вот messages
таблица.
$messages table: id, message, from_id, from_type, to_id, to_type
from_type
, to_type
может быть либо гостевым, либо пользователем.
Если я получаю последнее сообщение с отложенной загрузкой, я могу получить следующее:
foreach($guests as $guest)
{
$lastMessage = Message::where(function($query) use($guest){
$query->where("from_id", $guest->id);
$query->where("from_type", "guest");
})
->orWhere(function($query) use($guest){
$query->where("to_id", $guest->id);
$query->where("to_type", "guest");
})->latest()->first();
}
Однако я знаю это безумие. Как я могу получить это при активной загрузке?
Кто-нибудь, пожалуйста, дайте мне какие-нибудь инструкции?