我有三张table:公司、游戏和测试。
- 公司有很多游戏
- 游戏有很多测试
Game
模型有一个全局范围,我可以确认它正在工作:
public function apply(Builder $builder, Model $model)
{
$builder->where('type', 'live');
}
我使用Game
模型进行的任何直接查询都只会返回游戏类型设置为“live”的结果。
我在我的Company
模型中使用return $this->hasManyThrough('App\Test', 'App\Games')
来获取特定公司的所有测试。
但是,这将返回所有游戏的结果,无论其类型如何。
所以我想知道使用hasManyThrough
是否绕过了我在Game
模型中设置的全局作用域?
如果是这样的话,有什么办法可以解决这个问题吗?我想确保我所做的所有查询都过滤掉了任何未设置为“实时”的游戏。
干杯
2条答案
按热度按时间7y4bm7vi1#
需要将
->withoutGlobalScopes()
添加到关系定义中ymdaylpp2#
似乎你必须手动应用你的全局作用域。
类似于: