Shushlyaev
@Shushlyaev
ООО Сообщество Добрых Дел

Как правильно составить такой запрос с использование Eloquent ORM?

Подскажите пожалуйста, как правильно составить такой запрос, используя eloquent orm на laravel

SELECT COUNT(u2.id)
FROM users u1
LEFT JOIN users u2 ON u2.rating > u1.rating OR (u2.rating = u1.rating AND u2.id <= u1.id)
WHERE u1.id = ?
  • Вопрос задан
  • 62 просмотра
Решения вопроса 1
Shushlyaev
@Shushlyaev Автор вопроса
ООО Сообщество Добрых Дел
Вроде додумался сам, всем спасибо)

\DB::table('users')->where('users.id', $user_id)
	->leftJoin('users as u2', function ($join) {
		$join->on('u2.rating', '>', 'users.rating')
			->orOn(function ($query) {
				$query->whereRaw('u2.rating = users.rating')
					->whereRaw('u2.id <= users.id');
			});
	})->count();
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы