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 对象调用了此方法。
我正在我的代码中设置 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 对象调用了此方法。