Я работаю над функцией BDS для веб-сайта в Ларавеле. Теперь я пробовал задавать этот вопрос дважды здесь, но почему-то я не могу спросить его правильно, поэтому я попытаюсь дать ему последнюю попытку.Получить последнюю запись каждого донора
У меня есть 2 стола Доноры и доноры. Я хочу, чтобы все доноры и их дата последнего пожертвования давались только тогда, когда они не сдавали кровь за последние 3 месяца. Я пробовал это в обоих направлениях. Красноречивый и запрос.
Ниже мой запрос, что я использую:
SELECT donors.name, donors.mobile, donors.address, donors.blood_group, donors.area, MAX(donor_records.donation_date) AS d_date FROM donor_records JOIN donors ON donors.id = donor_records.id WHERE NOW() > DATE_ADD(donor_records.donation_date, INTERVAL 90 DAY)
Ниже приведены записи в моих таблицах базы данных.
Доноры:
DonorsRecord:
Теперь, Но когда я выполнить запрос я только получить запись с датой пожертвования "2016-04-12" а не другой. Так может кто-нибудь помочь мне с этим в последний раз. Не имеет значения, будет ли это от Eloquent или от DB, оба будут работать нормально.
Update
Подобно этому, у меня есть еще один запрос. У меня есть таблицы
products [id, name, price]
customer [id, name]
purchase [customer_id, product_id, timestamp]
Как я могу получить последний продукт каждого клиента?
'donorsRecord' или' donorRecord'? –
использовать в зависимости от того, что изменится, когда я выполним запрос. –
'where donorRecord.donationDate> NOW() - INTERVAL 3 MONTH' – Mike