laravel一对多的关系怎么写where year?

How to write where year in laravel one to many elequent relationship?

我正在我的代码中设置 one-to-many 关系。现在,如何在我的 blade 模板中使用 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') }}

您应该将 awards 作为方法调用,而不是作为用户对象的 属性,如:

{{ $user->awards()->whereYear('award_month', '=', $current_year)->sum('award_point') }}

这样方法 whereYear 被转发到查询生成器。您的代码示例不起作用,因为您在其中对 Collection 对象调用了此方法。