PHPFixing
  • Privacy Policy
  • TOS
  • Ask Question
  • Contact Us
  • Home
  • PHP
  • Programming
  • SQL Injection
  • Web3.0

Friday, March 4, 2022

[FIXED] Laravel giving error in foreach loop in spatie-permission

 March 04, 2022     laravel, laravel-4, laravel-5, laravel-permission, php     No comments   

Issue

I was applying Spatie Laravel-permissions and coding to add permissions to roles. and faced a error.

public function store(Request $request) {
//Validate name and permissions field
    $this->validate($request, [
        'name'=>'required|unique:'.config('permission.table_names.roles').'|max:10',
        ]
    );

    $name = $request['name'];
    $role = new Role();
    $role->name = $name;

    $permissions = $request['permissions'];
    $role->save();
//Looping thru selected permissions
    if(count($permissions>0)){
    foreach ($permissions as $permission) {

        $p = Permission::where('id', '=', $permission)->firstOrFail(); 
     //Fetch the newly created role and assign permission
        $role = Role::where('name', '=', $name)->first(); 
        $role->givePermissionTo($p);
    }
}

    return redirect()->route('roles.index')
        ->with('flash_message',
         'Role'. $role->name.' added!'); 
}

Error Image

So if someone please help me solve this problem.


Solution

In your submit form use this

<input type="checkbox" name="permissions[]" value="{{ $r->id }}"> {{$r->display_name}} </li>

In controller catch these permissions like this

$permissions = $request->permissions;


Answered By - sabbir chowdury
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg
Newer Post Older Post Home

0 Comments:

Post a Comment

Note: Only a member of this blog may post a comment.

Total Pageviews

Featured Post

Why Learn PHP Programming

Why Learn PHP Programming A widely-used open source scripting language PHP is one of the most popular programming languages in the world. It...

Subscribe To

Posts
Atom
Posts
Comments
Atom
Comments

Copyright © PHPFixing