راکت
مهرداد
مهرداد
توسط مهرداد مطرح شد
2 پاسخ

سطح دسترسی کاربر

سلام من توی سطح دسترسی کاربر به خطا خوردم کسی هست کمک کنه بهم

        Schema::create('permission_role', function (Blueprint $table) {

            $table->unsignedBigInteger('role_id');
            $table->foreign('role_id')->references('id')->on('roles')->onDelete('cascade');

            $table->unsignedBigInteger('permission_id');
            $table->foreign('permission_id')->references('id')->on('permissions')->onDelete('cascade');

            $table->primary(['role_id' , 'permission_id']);
        });

        Schema::create('role_user', function (Blueprint $table) {

            $table->unsignedBigInteger('role_id');
            $table->foreign('role_id')->references('id')->on('roles')->onDelete('cascade');

            $table->unsignedBigInteger('user_id');
            $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');

            $table->primary(['role_id' , 'user_id']);
        });
    public function boot()
    {
        $this->registerPolicies();

        foreach($this->getPermissions() as $permission){
            Gate::define($permission->name , function($user)use ($permission){
                return $user->hasRole($permission->roles);
            });
        }

    }

    protected function getPermissions()
    {
        return Permission::with('roles')->get();
    }
    public function roles()
    {
        return $this->belongsToMany(Role::class);
    }

    public function hasRole($role)
    {
        if(is_string($role)){
            return $this->roles->contains('name', $role);
        }

        return !! $role->intersect($this->roles)->count();
    }


ثبت پرسش جدید
coarad supp
coarad supp
تخصص :برنامه نویس لاراول
@coaradsupp6 سال پیشمطرح شد
0

سلام؛ شما جایی دارین مقدار به دیتابیس اضافه میکنید که باید ای دی پرمیشن و ای دی رول رو ذخیره کنید، ولی دارین اسم رول رو میفرستین، به قسمت اخر خطاتون دقت کنید


مهرداد
مهرداد
@mehrdadroshanraee696 سال پیشمطرح شد
0

@coaradsupp

بله دوست عزیز چون من توی بخش سلکت چند دسترسی رو برای یک نقش ارسال میکردم برای همین خطا میداد باید بصورت ارایه ارسال میشد من به صورت زیر نوشتم

                    <select name="permission_id" id="permission_id" class="form-control" multiple>

که به این مدلی اصلاح باید میشد

                    <select name="permission_id[]" id="permission_id" class="form-control" multiple>

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام