ユーザーと場所の間に多対多の関係があります。「接続ユーザー」選択リストをフィルタリングして、現在の場所にcompany_id
一致するユーザーのみを表示したいと考えています。クエリに「where」句を追加するcompany_id
という静的関数を作成しました。relatableUsers
public static function relatableUsers(NovaRequest $request, $query)
{
return $query->where('company_id', ???);
}
company_id
現在の場所をこの where クエリに取り込むにはどうすればよいですか? フィルターの下に likeをハードコーディングする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);
}