7

ユーザーと場所の間に多対多の関係があります。「接続ユーザー」選択リストをフィルタリングして、現在の場所に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);

}
4

2 に答える 2