public function update($data, $dataPerm, $role)
 {
     $role->update($data);
     $listIds = $dataPerm["permissions"];
     if ($role->permissions->count()) {
         $role->detachAllPermissions();
         foreach ($listIds as $key => $value) {
             $role->attachPermission(Permission::find($value));
         }
     }
     if ($role->permissions->count() == 0 && count(\Input::get('permissions')) > 0) {
         foreach ($listIds as $key => $value) {
             $role->attachPermission(Permission::find($value));
         }
     }
 }
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     if (!Permission::find(1)) {
         $permissionsAdmin = array('Manage Pages', 'Manage Settings', 'Manage Roles', 'Manage Permissions', 'See all Sales', 'Manage Customers', 'Manage Sells', 'Manage Categories', 'Set Prices', 'Manage Profile', 'Buy Goods', 'Share Goods');
         foreach ($permissionsAdmin as $permission) {
             $perm = Permission::updateOrCreate(['name' => $permission, 'display_name' => $permission, 'description' => $permission]);
             $roleAdmin = Role::find(1);
             $roleAdmin->attachPermission($perm, new Role());
         }
         $listIds = Permission::all()->lists('id');
         $roleManager = Role::find(2);
         foreach ($listIds as $key => $permission) {
             if ($key >= 5 && $key <= 8) {
                 $roleManager->attachPermission(Permission::find($permission));
             }
         }
         $roleCustomer = Role::find(3);
         foreach ($listIds as $key => $permission) {
             if ($key >= 9 && $key <= 11) {
                 $roleCustomer->attachPermission(Permission::find($permission));
             }
         }
     }
 }