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