当前后端用户以 octobercms 形式缩小关系结果
Narrow relationship results in octobercms form by current backend user
我有这三个型号:
- Teacher: belongs_to: 'user' => 'Backend\Models\User',
has_many: 'classes' => 'Acme\School\Models\Class'
- Classes: belongs_to: 'teacher' => 'Acme\People\Models\Teacher',
- 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 中我似乎无权访问请求、用户或授权。
- 请注意,Class 不是真实的模型名称,也不是 类 关系的名称。
- 如果我的问题标题不够好,请给我推荐另一个。
- 如果解决方案简单明了,我想我会自杀。
我有类似的东西并用范围解决了它,在范围内你可以使用 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 行为的后端关系中做范围
我有这三个型号:
- Teacher: belongs_to: 'user' => 'Backend\Models\User',
has_many: 'classes' => 'Acme\School\Models\Class'- Classes: belongs_to: 'teacher' => 'Acme\People\Models\Teacher',
- 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 中我似乎无权访问请求、用户或授权。
- 请注意,Class 不是真实的模型名称,也不是 类 关系的名称。
- 如果我的问题标题不够好,请给我推荐另一个。
- 如果解决方案简单明了,我想我会自杀。
我有类似的东西并用范围解决了它,在范围内你可以使用 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 行为的后端关系中做范围