Хорошо после нескольких часов исследований и до сих пор использующих DB:: select. Я должен задать этот вопрос. Потому что я собираюсь прогнать мой компьютер;).
Я хочу получить последний вход пользователя (база на отметке времени). Я могу сделать это с помощью raw sql
SELECT c.*, p.*
FROM users c INNER JOIN
(
SELECT user_id,
MAX(created_at) MaxDate
FROM `catch-text`
GROUP BY user_id
) MaxDates ON c.id = MaxDates.user_id INNER JOIN
`catch-text` p ON MaxDates.user_id = p.user_id
AND MaxDates.MaxDate = p.created_at
Я получил этот запрос из другого сообщения здесь в stackoverflow.
Я пробовал все, чтобы сделать это с помощью свободного конструктора запросов в Laravel, но без успеха.
Я знаю, что в руководстве говорится, что вы можете это сделать:
DB::table('users')
->join('contacts', function($join)
{
$join->on('users.id', '=', 'contacts.user_id')->orOn(...);
})
->get();
Но это не помогает, потому что я не вижу, как я могу использовать подзапрос там? Любой, кто может осветить мой день?