Laravel 向嵌套的即时加载添加多个作用域

Laravel 向嵌套的即时加载添加多个作用域,laravel,eloquent,eager-loading,Laravel,Eloquent,Eager Loading,在我的应用程序中,用户可以预测即将到来的足球比赛的分数 基本上我想显示本周的所有用户预测。为此,我在匹配模型中添加了一个作用域,该作用域只加载本周的匹配 问题:我仍然从该用户那里获得我的所有预测(不仅仅是本周的预测)对于我的用户本周创建的预测,将加载正确的匹配项。对于其他预测,没有匹配项,但它们仍然被放入我的查询中 如何向嵌套的即时加载添加另一个作用域,该作用域将仅选择本周内所做的预测或具有非空的匹配?(或其他解决方案) 代码: 公共函数showPredictions(){ $user=auth

在我的应用程序中,用户可以预测即将到来的足球比赛的分数

基本上我想显示本周的所有用户预测。为此,我在匹配模型中添加了一个作用域,该作用域只加载本周的匹配

问题:我仍然从该用户那里获得我的所有预测(不仅仅是本周的预测)对于我的用户本周创建的预测,将加载正确的匹配项。对于其他预测,没有匹配项,但它们仍然被放入我的查询中

如何向嵌套的即时加载添加另一个作用域,该作用域将仅选择本周内所做的预测或具有非空的匹配?(或其他解决方案)

代码:

公共函数showPredictions(){
$user=auth()->user()->load(['predictions.match'=>函数($query){$query->thisWeek();}]);
dd(用户);
返回视图(“预测”,压缩(“用户”);
}
匹配型号

公共功能预测(){
返回$this->hasMany('App\Prediction','match_id','match_id');
}
公共功能范围本周($query){
$start_date=now()->previous(星期二);
$end_date=now()->下一个(星期一);
返回$query->whereDate('date','>',$start_date)->whereDate('date','p>使用
whereHas()

$user=auth()->user()->加载([
“预测”=>函数($query){
$query->whereHas('match',函数($query){
$query->thisWeek();
});
},
“预测,比赛”
]);
使用
whereHas()

$user=auth()->user()->加载([
“预测”=>函数($query){
$query->whereHas('match',函数($query){
$query->thisWeek();
});
},
“预测,比赛”
]);
是关于
whereHas
的文档。是关于
whereHas
的文档。