Как рассчитать общую зарплату сотрудника с данными сотрудника в 5-м уровне?

Я работаю с Laravel 5.1 и у меня есть две таблицы.

  1. сотрудников
  2. заработная плата

Состав:


сотрудников

идентификатор | имя | город
1 | Доу | TX
2 | John | Phx

заработная плата ID | employee_id | заработная плата
1 | 1 | 200
2 | 1 | 100
3 | 1 | 300
4 | 2 | 500
5 | 1 | 200
6 | 2 | 800
7 | 1 | 200
8 | 2 | 600
9 | 1 | 200

Так что на мой вопрос я хотел получить список сотрудников, включая сумму заработной платы для всех сотрудников, и хочу перечислить на моем блейде в табличной форме, как emp name | город | общая заработная плата и т. д. с использованием метаний, красноречивых из модели сотрудников.

Я пробовал аксессоры & мутаторы Laravel, но они не работали?
Если хочешь, я тоже могу поделиться своим кодом.

Заранее спасибо.

1

Решение

вот SQL-запрос, чтобы получить сумму каждого использования с несколькими записями

SELECT b.id,employ_name, SUM(wages) FROM test.wages as a LEFT JOIN test.employees as b on a.employ_id=b.id GROUP BY a.employ_id

где test = имя базы данных; заработная плата & сотрудники имя таблицы

если вам нужен город занятости, вы можете добавить в таблицу занятости и добавить b.employ_city до или после имя_инстанции в запросе и разделить их символом ‘,’. и я думаю, что этот запрос поможет дать знания о извлечении информации из таблицы. и вы можете конвертировать в принятый формат Laravel. потому что я не знаю Laravel

0

Другие решения

Попробуй это:

$employees = DB::table('wages')
->join('employees', 'employees.id', '=', 'wages.employee_id')
->select('employee.name as name', 'employee.city as city', DB::raw('SUM(wages.wages) as total_wages'))
->groupBy('employee_id')
->get();

и по вашему мнению:

<table>
<thead>
<tr>
<th>Name</th>
<th>City</th>
<th>Wage</th>
</tr>
</thead>
<tbody>
@foreach ($employees as $employee)
<tr>
<td>{{ $employee->name }}</td>
<td>{{ $employee->city }}</td>
<td>{{ $employee->total_wages }}</td>
</tr>
@endforeach
</tbody>
</table>

Проверьте, поможет ли это вам …

0