En utilisant SUM dans Laravel

noname:

Je suis un nouvel apprenant Laravel et ayant des difficultés à convertir de sql

voici mon sql

select sum(employee_income) 
from employee 
group by employee_id, employee_department

cette requête fonctionne quand je test.

voici mon Laravel simplifié, mais cela ne fonctionne pas.

DB::raw('(select sum(employee_income) from employee group by employee_id, employee_department)')

Quelqu'un peut-il voir quelque chose de mal?

Tim Lewis:

Vous ne devriez pas utiliser à DB::raw()moins que vous devez. Laravel a le Eloquent Query Builder, qui fournit un outil facile à saisir, base de données agnostique (fonctionne avec tous les blocs de données) méthode d'écriture de requêtes. Celui - ci devrait être assez simple:

$sum = Employee::groupBy('employee_id')
->groupBy('employee_department')
->sum('employee_income');

// Or, if you don't have an `Employee.php` model

$sum = DB::table('employees')
->groupBy('employee_id')
->groupBy('employee_department')
->sum('employee_income');

Je suppose que tu aimes

Origine http://43.154.161.224:23101/article/api/json?id=320568&siteId=1
conseillé
Classement