Laravel Nova - BelongsToMany 不在数据透视表中创建条目

问题描述

我有两个模型,用户和团队。我已经设置了一个包含 team_id 和 user_id 字段的数据透视表 (team_user)。

每个模型都有一个belongsToMany 函数。在团队模型中:

     public function users()
    {
        return $this->belongsToMany(User::class)->withTimestamps();
    }

用户模型中:

    public function teams()
    {
        return $this->belongsToMany(Team::class)->withTimestamps();
    }

在 Nova 资源中,我正在尝试建立 BelongsToMany 关系,如下所示:

团队资源:

    public function fields(Request $request)
    {
        return [
            ID::make(__('ID'),'id')->sortable(),Text::make('Name')->sortable(),BelongsToMany::make('Users'),];
    }

我在用户资源中也有一个 BelongsToMany::make('Teams') 字段。

通过此设置,我的理解是,虽然字段在团队创建资源中不可见,但仍应在两者之间创建关系。

我尝试在资源中指定关系,如下所示:

BelongsToMany::make('Users','users',User::class)

我也用过这个包(Nova Attach Many)

而且效果很好,但我更希望能够自动设置这种简单的关系。关于我可能做错了什么的任何想法?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)