vendredi 17 janvier 2020

How can fix the database query in laravel few joins and mysql query MAX

Good day everyone I've been trying to solve the problem with duplicates of received rows from the database all day long My task is to connect 4 tables, as users, payment, feedback, and errors Before adding the last table, the code worked correctly After joining the last table, a lot of duplicates appeared I would be grateful for good advice or help Below is the code

$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);


from Newest questions tagged laravel-5 - Stack Overflow https://ift.tt/36ZG7At
via IFTTT

Aucun commentaire:

Enregistrer un commentaire