/** * Save entity updates * * @param Inoplate\Account\Domain\Models\Role $entity * @return void */ public function save(AccountDomainModels\Role $entity) { $entity = $entity->toArray(); $role = $this->model->firstORNew(['id' => $entity['id']]); $role->name = $entity['name']; $description = $entity['description']; $permissions = $entity['permissions']; $permissionsToSync = []; foreach ($description as $key => $value) { $role->{$key} = $value; } $role->save(); foreach ($permissions as $permission) { if (!is_null($permission)) { $permissionsToSync[] = $permission['id']; } } $this->syncPermission($role->id, $permissionsToSync); }