2 回答
TA贡献2021条经验 获得超8个赞
如果我理解正确的话..你想要 $site_census_ids 用户已经足够简单了:
$site_census_ids=$myUser->groups()
->join('group_site_census','group_site_census.group_id','=','groups.id')
->join('sites_census','sites_census.id','group_site_census.sites_census_id')
->select('sites_census.id')->get()->pluck('id');
请确保表名“sites_census”、“groups”正确
TA贡献1848条经验 获得超2个赞
事实证明,laravel 实际上确实有一种简单的方法可以做到这一点。您可以whereHas()直接使用链接表。就我而言,这就是我所需要的。
static::addGlobalScope('status', function (Builder $builder) {
$builder->where(function (Builder $q) {
return $q->whereHas('siteCensus.groups.users', function ($q) {
$q->where('user_id', Auth::user()->id);
});
});
});
- 2 回答
- 0 关注
- 109 浏览
添加回答
举报