Я занимаюсь разработкой приложения Laravel.У меня проблема с запросом связанных двух таблиц с помощью предложения where.Это моя схема базы данных.
patients
========
id, name, email, password, created_at
treatments
==========
id, created_at, disease, note, patient_id
treatment_logs
=============
id, status, created_at, treatment_id
Моя схема базы данных очень проста.Теперь я хотел бы создать запрос, который извлекает обращения пользователя с последним статусом treatment_logs 1. Это мой запрос
class Patient extends Model {
public function intensiveTreatments()
{
return $this->treatments()->whereHas('treatment_logs', function ($query) {
$query->orderBy('id', 'desc')
->take(1)
->where('status', 1);
});
}
}
Проблема с этим запросом заключается в том, чтонезависимо от того, каков статус последней записи в журналах лечения.Пока есть treatment_logs со статусом 1, он будет возвращать записи.Но я хочу получить только записи с последними логами обращения, которые имеют статус 1. Как я могу получить их?