简体   繁体   English

Laravel在spatie权限中的foreach循环中给出错误

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

I was applying Spatie Laravel-permissions and coding to add permissions to roles. 我正在应用Spatie Laravel权限并进行编码以向角色添加权限。 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!'); 
}

错误图片

So if someone please help me solve this problem. 因此,如果有人请帮助我解决此问题。

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;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM