我正在为考勤管理系统构建一个Laravel项目。在那里,我想在他们的仪表板中显示用户离开的详细信息。
<<p>离开表/strong>离开表
休假申请表休假申请表
实际上,我想显示用户所有不同类型的休假,用户的休假天数和总休假天数。
<<p>仪表板控制器/strong>获取休假id
$get_leave_id = LeaveApplication::where('user_id', Auth::user()->id)
->where('statuses_id', 2)
->pluck('leave_id');
从用户获取所有休假细节
$user_leaves = LeaveApplication::with('leave')
->where('statuses_id', '=', 2)
->whereIn('leave_id', $get_leave_id)
->get();
public function leave()
{
return $this->belongsTo(Leave::class, 'leave_id', 'id');
}
视图页面
{{$leave->leave->leave_name}} ==>病假
{{$离开→leave_taken_days }}/{{ $ 离开→离开→total_leave_days}} = =比;4/12
结果我得到
我想要的是这个
Result I want
请帮助建立查询。谢谢你
您可以简化您收集数据的方式如下:
$application = LeaveApplication::with('leave')
->where(['user_id' => Auth::user()->id, 'statuses_id' => 2])
->first();
然后你可以按你喜欢的方式计算数据:
$leave_taken_days = $application->leave->sum('leave_taken_days');
$total_leave_days = $application->leave->sum('total_leave_days');
,在视图中,您可以将变量直接传递给视图并调用它们:$leave_taken_days
和$total_leave_days