资源字段中的多个belongsToMany显示错误的附加选择

时间:2020-10-02 23:26:40

标签: laravel laravel-nova

每当我要附加一名老师/学生时,它就会显示所有用户,而不是显示具有模型类中分配的必需role_id的用户。

型号:

namespace App;
use App\User;
use Illuminate\Database\Eloquent\Model;

class SchoolClass extends Model
{
    public function teachers () {
        return $this->belongsToMany(User::class)->where('role_id', 1);
    }

    public function students () {
        return $this->belongsToMany(User::class)->where('role_id', 3);
    }
}

在该SchoolClass的资源中,我具有以下字段:

public function fields(Request $request)
{
    return [
        ID::make()->sortable(),
        Text::make('name'),
        BelongsToMany::make('Teachers', 'teachers', 'App\Nova\User'),
        BelongsToMany::make('Students', 'students', 'App\Nova\User'),
    ];
}

解决这个问题的正确方法是什么?查看schoolschool资源之一时,它的确在“教师和学生”下列出了正确的用户,只有当我要将用户附加到这些字段之一时,它才会列出所有用户。

0 个答案:

没有答案
相关问题