我正在代码中建立一对多关系。现在,如何在刀片模板中使用whereYear
大小写?
我已经尝试过此代码,但显示为Method whereYear does not exist
。
public function awards() {
return $this->hasMany(Award::class);
}
public function user() {
return $this->belongsTo(User::class);
}
$current_year = date("Y", strtotime(now()))
{{ $user->awards->whereYear('award_month', '=', $current_year)->sum('award_point') }}
答案 0 :(得分:1)
您应该将奖励作为一种方法而不是作为User对象的属性来调用,如:
{{ $user->awards()->whereYear('award_month', '=', $current_year)->sum('award_point') }}
通过这种方式,方法whereYear
被转发到查询生成器。您的代码示例无效,因为您在其中对Collection对象调用了此方法。