laravel - 变量没有在查询中传递值,尽管它包含值
问题描述
public function Query()
{
$total= User::get('e_id');
// dd($total);
foreach($total as $totals){
[$year, $month] = explode('-', $this->month);
dd($totals);
$s= User::whereMonth('date' , $month)->whereYear('date' , $year)->where('e_id' , $totals)->get()->sum('latehours');
dd($s);
}
// dd($totals);
}
在此代码中,变量 $totals 包含“e_id”的值,例如“a-2”,当我 dd($totals) 显示值时,它从表单中获取,例如“a-2”,但是当我将其与“e_id”进行比较时在变量 $s 中显示 sum null(0) of 'latehours' 否则当我直接输入 'a-2' 时,它会针对这个 'e_id' 总结 'latehours' 的记录。这里有什么问题?任何建议。提前致谢。
解决方案
用这个
$s= User::whereMonth('date' , $month)->whereYear('date' , $year)->where('e_id' , $totals->e_id)->get()->sum('latehours');
您正在传递 $totals 对象,条件将其更改为 $totals->e_id