1 Câu hỏi: Laravel nova chỉ hiển thị các trường cho siêu quản trị viên

câu hỏi được tạo ra tại Wed, May 8, 2019 12:00 AM

Xin chào mô hình người dùng của tôi có mã này.

const ROLE_SUPER_ADMIN = "SUPER_ADMIN";
public function isSuperAdmin(){
        return $this->hasRole(self::ROLE_SUPER_ADMIN);
}

và bảng vai trò có 'SUPER_ADMIN'

Và tôi đã tạo một tài nguyên cho bảng người dùng có cái này,

public function fields(Request $request)
    {
        return [
            ID::make()->sortable(),

            Gravatar::make(),

            Text::make(__('Name'),'name')
                ->sortable()
                ->rules('required', 'max:255'),

            Text::make(__('Surname'),'surname')
                ->sortable()
                ->rules('required', 'max:255'),

            Text::make(__('Mobile token'),'mobile_token'),

            Text::make(__('Email'))
                ->sortable()
                ->rules('required', 'email', 'max:254')
                ->creationRules('unique:users,email')
                ->updateRules('unique:users,email,{{resourceId}}'),

            Password::make(__('Password'))
                ->onlyOnForms()
                ->creationRules('required', 'string', 'min:6')
                ->updateRules('nullable', 'string', 'min:6'),
            //BelongsToMany::make(__("Businesses"),'businesses',Business::class),
            MorphToMany::make(__('Roles'), 'roles', \Vyuldashev\NovaPermission\Role::class),
            MorphToMany::make(__('Permissions'), 'permissions', \Vyuldashev\NovaPermission\Permission::class),
        ];

Điều tôi cần là chỉ hiển thị trường Text::make(__('Mobile token'),'mobile_token'), này cho người dùng SUPER_ADMIN . Và các lĩnh vực khác mà không có hạn chế. Có cách nào làm được việc này không?

    
0
1 Câu trả lời                              1                         

Bạn có thể làm như thế này,

use App\Models\User as UserModel;


Text::make(__('Mobile token'),'mobile_token')
                ->canSee(function ($request) {
                    return $request->user()->hasRole(UserModel::ROLE_SUPER_ADMIN);
                }),
    
3
2019-05-08 16: 26: 57Z
nguồn đặt đây