Всем доброго времени суток. Я пытался решить проблему с дубликатами полученных строк из базы данных в течение всего дня. Моя задача - соединить 4 таблицы: пользователей, платежи, отзывы и ошибки. Перед добавлением последней таблицы код работал правильно После присоединения к последней таблице появилось много дубликатов. Буду признателен за полезные советы или помощь. Ниже приведен код
$users = $this->DB()->table('users')
->leftJoin('portmone', 'users.id', '=', 'portmone.user_id')
->leftJoin('callback_users', 'users.id', '=', 'callback_users.parent_id')
->leftJoin('users_ercodes', 'users.id', '=', 'users_ercodes.user_id')
->select(DB::raw("users.id, users.fio, users.email, users.phone, max(portmone.created_at) as created_at, MAX(users_ercodes.ercode) as ercode, MAX(callback_users.date) as date, portmone.user_id as user_id, portmone.status as status"))
->whereNotIn('users.id', ['portmone.user_id'])
->where('portmone.status', 0)
->groupBy(
'portmone.user_id',
'portmone.created_at',
'users.id',
'users.fio',
'users.email',
'users.phone',
'callback_users.date',
'users_ercodes.ercode',
'portmone.status'
)
->orderBy('date')
->distinct()
->paginate(20);