我正在尝试计算“缺勤”表中“从”和“到”列之间的差异总和,但遇到错误。
未找到列:1054 未知列“absences.hours_difference” ‘字段列表’
$classesAbsences = Classes::withSum([
'absences' => function ($query) {
$query->selectRaw('TIMESTAMPDIFF(HOUR, `from`, `to`) AS hours_difference');
}
], 'absences.hours_difference')
->get();
您可以使用
with
方法加载 absences
关系,然后手动计算总和。
$classesAbsences = Classes::with([
'absences' => function ($query) {
$query->selectRaw('TIMESTAMPDIFF(HOUR, `from`, `to`) AS hours_difference');
}
])->get();
// Calculate the sum manually
$classesAbsences->each(function ($class) {
$class->total_hours_absence = $class->absences->sum('hours_difference');
});