gpt4 book ai didi

php - Nova 相关过滤 - 如何过滤 company_id 与位置 company_id 匹配的用户

转载 作者:行者123 更新时间:2023-12-03 11:22:45 32 4
gpt4 key购买 nike

我有用户和位置之间的多对多关系。我想过滤我的“附加用户”选择列表以仅显示 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);

}

最佳答案

您可以检索目标 Location从像下面这样的请求。

public static function relatableUsers(NovaRequest $request, $query)
{
$location = $request->findResourceOrFail(); // Retrieve the location instance
return $query->where('company_id', $location->company_id);
}

关于php - Nova 相关过滤 - 如何过滤 company_id 与位置 company_id 匹配的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53180510/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com