У меня есть 2 таблицы в дБ, одна для пользователя и другая для оплаты
Моя цель состоит в том, чтобы пользователи таблиц имели сумму оплаты-> цену по пользователю-> id в laravel, используя построитель запросов
Мне удалось создать успешный запрос в datagrip, например:
SELECT DISTINCT users.id
, users.name
, users.email
, users.address, users.is_admin
, users.created_at
, sum(payments.price) as total_purchase
FROM users
LEFT
JOIN payments
on users.id = payments.user_id
group
by payments.user_id, users.name
order by user_id desc;
Я уже пробовал подобный запрос в laravel примерно так:
public function getUsers(){
$users = DB::table('users')
->select(DB::raw('"SELECT DISTINCT users.id, users.name, users.email, users.address, users.is_admin, users.created_at, sum(payments.price) as total_purchase'))
->leftJoin('payments', 'users.id', '=', 'payments.user_id')
->groupBy('payments.user_id', 'users.name')
->orderBy('user_id', 'desc')
->paginate(1);
return $users;
// return view('adminUsers', ['users' => $users]);
}
, но я получаю сообщение об ошибке:
SQLSTATE [42000]: синтаксическая ошибка или нарушение прав доступа: 1064 У вас есть ошибка в синтаксисе SQL;
Как я могу это сделать в laravel? и я также хочу вернуть нумерацию страниц