My code is working 1 year ago, but now i got an error when i update my composer. I used laravel package from laravel-spatie.
"spatie/laravel-permission": from 1.16.1
updated to 1.3.0
,
laravel version : laravel 5.2
FatalThrowableError in BelongsToMany.php line 599:
Type error: Argument 1 passed to Illuminate\Database\Eloquent\Relations\BelongsToMany::save()
must be an instance of Illuminate\Database\Eloquent\Model, array given, called in
/var/www/html/mto-erp/vendor/spatie/laravel-permission/src/Traits/HasPermissions.php on line 18
Controller
$user = User::where('partner_id',$id)->first();
$permission = Permission::where('name','LIKE','accounting_%')->select('name')->get();
$permission = $permission->pluck('name')->toArray();
$user->revokePermissionTo($permission);
if(Input::get('permissions')){
$user->givePermissionTo(Input::get('permissions'));
}
laravel permission package - spatie/laravel-permission
I think there's something wrong of spatie/permission version 1.3. I also encountered that problem .
Try to install spatie/permission version 1.16* that fixed my problem.