我试图获取当前用户并查看其所有已分配项目,然后我想获取当前用户的到期日并计算与今天的差额,并且显示分配应在3天内到期。
如何获取关系后如何计算日期之间的差异?
这是我在模型,控制器和刀片服务器中尝试过的。
型号:
public function getDates()
{
return ['created_at', 'due'];
}
public function getDueAttribute()
{
$due = Carbon::parse($this->attributes['due'])->diff(Carbon::now())->format('%d');
return $due;
}
控制器:
$assignents = Assign::whereHas('users', function ($q) {
$q->where('user_id', Auth::user()->id);
})->get();
$assignents->due;
刀片:
{{$due}}
答案 0 :(得分:1)
您正在访问集合中的属性,因此
要么获取Assignment
$assignment = Assign::whereHas('users', function ($q) {
$q->where('user_id', Auth::user()->id);
})->first();
$due = $assignment->due;
---- blade ----
Assignment is due in {{ $due }} days
或遍历集合以访问属性
$assignments = Assign::whereHas('users', function ($q) {
$q->where('user_id', Auth::user()->id);
})->get();
---- blade ----
@foreach ($assignments as $assignment)
Assignment is due in {{ $assignment->due }} days
@endforeach