如何在Laravel一对多的恋爱关系中写下年份?

时间:2018-12-24 21:51:59

标签: eloquent laravel-5.5

我正在代码中建立一对多关系。现在,如何在刀片模板中使用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') }}

1 个答案:

答案 0 :(得分:1)

您应该将奖励作为一种方法而不是作为User对象的属性来调用,如:

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

通过这种方式,方法whereYear被转发到查询生成器。您的代码示例无效,因为您在其中对Collection对象调用了此方法。