столбцы суммы без дубликатов в Laravel - PullRequest
0 голосов
/ 26 июня 2019

У меня есть эти 3 таблицы: таблицы, резервирование и table_reservation. Последним является сводка, дело в том, что я хочу суммировать сумму каждого бронирования в соответствии с заданной датой, но без дубликатов, то есть резервирование с 3 взятыми таблицами, эти 3 записи добавляются в сводку Таблица и сумма в 3 раза превышает сумму бронирования, что я не хочу.

Я оставляю таблицы и мой код.

table_reservation

| date       | table_id | reservation_id |
| 2019-06-12 | 2        | 1              |
| 2019-06-12 | 3        | 1              |
| 2019-06-12 | 4        | 1              |
| 2019-06-12 | 1        | 2              |

reservation

| id | name        | emp_id | amount | other    |
| 1  | Luis Miguel | 2      | 200    | vdvvdvdv |
| 2  | carloz      | 2      | 234    | dwdq     |

tables

| id | name |
| 1  | A1   |
| 2  | B2   |
| 3  | A2   |
| 4  | A4   |
| 6  | B4   |

PHP-код

    DB::table('reservation')
    ->join('table_reservation', 'reservation.id', '=', 'table_reservation.reservation_id')
    ->join('tables', 'table_reservation.mesa_id', '=', 'tables.id')
    ->join('empleados', 'reservation.emp_id', '=', 'emp.id')
    ->select('reservation.id',DB::raw('group_concat(tables.name) as y'),'reservation.name', 'emp.name as x','reservation.amount','reservation.other', 'table_reservation.date', DB::raw("SUM(reservation.amount) as count"))
    ->select(DB::raw("SUM(reservation.amount) as count"))
    ->distinct()
    ->groupBy('reservation.id')
    ->where('table_reservation.date',$date)->get();

Я получаю следующее:

[{"count":"600"},{"count":"234"}]

должно быть 200 вместо 600

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...