当前后端用户以 octobercms 形式缩小关系结果

Narrow relationship results in octobercms form by current backend user

我有这三个型号:

  1. Teacher: belongs_to: 'user' => 'Backend\Models\User',
    has_many: 'classes' => 'Acme\School\Models\Class'
  2. Classes: belongs_to: 'teacher' => 'Acme\People\Models\Teacher',
  3. Schedule: belongs_to: 'class' => 'Acme\School\Models\Class'

我正在尝试为模型时间表构建一个表格,教师只能根据他的 类 select 来完成他的时间表。目前我在 schedule/fields.yaml 中有这个:

    fields:
      class:
        label: Class
        nameFrom: full_name
        span: auto
        required: 1
        type: relation

我尝试向字段定义添加范围,但在 Model\Classes 中我似乎无权访问请求、用户或授权。

我有类似的东西并用范围解决了它,在范围内你可以使用 BackendAuth::getUser()

访问后端用户

我有这个范围:

public function scopeHasAccess($query)
{
    if (BackendAuth::getUser()->is_superuser) {
        return;
    }

    $query->whereHas('clients', function ($query) {
        $query->where('user_id', BackendAuth::getUser()->id);
    });
}

但我只在实现 RelationController 行为的后端关系中做范围

https://octobercms.com/docs/backend/relations#introduction