Результаты запроса Laravel в сложном сценарии соединения - PullRequest
0 голосов
/ 06 октября 2019

Я использую Laravel 5 и у меня есть 4 таблицы

payroll_template

id | salary_grade | basic_salary 

payroll_allowance

id |template_id | allowance_label | allowance_value

payroll_deduction

id | template_id | deduction_label | deduction_value

payroll_payment

id | template_id | user_id

Я хочу присоединиться к этим столам payroll_template, payroll_allowance, payroll_paymentи payroll_deduction и поместите значение поля allownce_label и deduction_label в качестве имени столбца и allownce_value и deduction_value в качестве значения столбца из соответствующих таблиц.

, если у пользователей нетallownce_label, но другие пользователи содержат, кроме того, установите значение допустимости 0. То же самое для вычета.

Я хочу показать результаты как

user_id | salary_grade | basic_salary | allowance_label | deduction_label

Значения allowance_label и deduction_label должны войти вих соответствующий столбец

1 Ответ

1 голос
/ 06 октября 2019

попробуйте этот запрос:

   DB::table('payroll_payment')
    ->join('payroll_template', 'payroll_payment. user_id', '=', 'payroll_template.user_id')
    ->join('payroll_allowance', 'payroll_payment. template_id', '=', 'payroll_allowance.template_id')
    ->join('payroll_deduction', 'payroll_payment. template_id', '=', 'payroll_deduction.template_id')
    ->select('payroll_payment.*','payroll_template.salary_grade','payroll_template. basic_salary','payroll_allowance.allowance_label','payroll_allowance. allowance_value','payroll_deduction.deduction_label','payroll_deduction.deduction_value'))
    ->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...