首页 > 解决方案 > Laravel Nova Action - 附加多个数据透视记录

问题描述

我正在尝试根据我的“活动”模型添加多个数据透视记录(“活动学生”)。一项活动属于一个“小组”,而小组属于许多“学生”。

我正在尝试从我的活动资源/模型中在我的“activity_student”表中添加数据透视记录。

下面是我的 Laravel Nova Action 'AddParticipants' 的代码,从 'Activity' 资源触发

public function handle(ActionFields $fields, Collection $models)
{
    foreach ($models as $model) {

        // get students from the group where the activity belongs to
        $students = $model->group()->students();

        // attach activity and students to pivot table
        foreach ($students as $student) {
            $model->students()->attach($student->id);
        }
    }
}

错误消息 = 调用未定义的方法 Illuminate\Database\Eloquent\Relations\BelongsTo::students()

不确定代码的哪一部分是错误的。或者也许有更简单的 Laravel/Nova 方法来做到这一点?

标签: laravel-nova

解决方案


推荐阅读