Гаразд, після багатогодинних досліджень та використання DB :: select Я повинен поставити це питання. Тому що я ось-ось віддам свій комп’ютер;).
Я хочу отримати останній вхід користувача (база на позначці часу). Я можу це зробити за допомогою сирого 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();
Але це не дуже допомагає, бо я не розумію, як я міг би там використовувати підзапит? Той, хто може освітлити мій день?
selectRaw
оператора! Вам пощастило передати об'єкту вільного запиту запит, а не рядок запиту?