Zizaco / entrust

Role-based Permissions for Laravel 5
MIT License
6.05k stars 1.29k forks source link

Modified how entrust adds permissions #929

Open blakethepatton opened 6 years ago

blakethepatton commented 6 years ago

This way, duplicate records aren't added and foreign key constraints don't become an issue.

mazeeblanke commented 5 years ago

This way, duplicate records aren't added and foreign key constraints don't become an issue.

The sync method takes in an array, and any item with its id missing from that array will be removed https://laravel.com/docs/5.7/eloquent-relationships#Syncing-Associations. Based on the docs you cannot do this $this->perms()->sync($permission, false);

blakethepatton commented 5 years ago

Based on the docs you cannot do this

Based on the actual complete documentation, the laravel api docs, you can do this without removing records. The sync method acutally takes in a collection OR an array, as well as an optional boolean. Perhaps you didn't notice that I set the second parameter to false?

The documentation: https://laravel.com/api/5.7/Illuminate/Database/Eloquent/Relations/Concerns/InteractsWithPivotTable.html#method_sync

The actual source file: https://github.com/laravel/framework/blob/5.7/src/Illuminate/Database/Eloquent/Relations/Concerns/InteractsWithPivotTable.php#L82