我在用户和位置之间有多对多的关系。我想过滤我的“附加用户”选择列表以仅显示与我当前所在位置company_id
匹配的用户。company_id
我创建了一个名为的静态函数relatableUsers
,它在查询中添加了“where”子句。
public static function relatableUsers(NovaRequest $request, $query)
{
return $query->where('company_id', ???);
}
如何将当前位置拉到company_id
这个 where 查询中?如果我在过滤器下面硬编码一个company_id
类似的代码,那么我知道这是可能的。
public static function relatableUsers(NovaRequest $request, $query)
{
return $query->where('company_id', 'FA624E60-DD37-11E8-A540-C3C0A709EE15');
}
记录信息不存储在$request
或 中$query
。
编辑 - 添加关系
用户型号:
public function company()
{
return $this->belongsTo(Company::class);
}
public function locations()
{
return $this->belongstoMany(Location::class);
}
定位模型:
public function company()
{
return $this->belongsTo(Company::class);
}
public function users()
{
return $this->belongstoMany(User::class);
}
公司型号关系:
public function users()
{
return $this->hasMany(User::class);
}
public function location()
{
return $this->hasMany(Location::class);
}