fix: error in updateFilteredPolicies()

This commit is contained in:
Jon Lee 2021-09-02 17:17:11 +08:00
parent 9676f0b918
commit 1f0702af05
2 changed files with 5 additions and 3 deletions

View File

@ -266,6 +266,8 @@ class DatabaseAdapter implements DatabaseAdapterContract, BatchDatabaseAdapterCo
$oldP = [];
foreach ($newPolicies as $newRule) {
$col['p_type'] = $ptype;
$col['created_at'] = new DateTime();
$col['updated_at'] = $col['created_at'];
foreach ($newRule as $key => $value) {
$col['v' . strval($key)] = $value;
}
@ -284,9 +286,11 @@ class DatabaseAdapter implements DatabaseAdapterContract, BatchDatabaseAdapterCo
}
$oldRules->delete();
$this->eloquent->create($newP);
$this->eloquent->insert($newP);
});
Rule::fireModelEvent('saved');
// return deleted rules
return $oldP;
}

View File

@ -277,9 +277,7 @@ class DatabaseAdapterTest extends TestCase
Enforcer::updateFilteredPolicies([['alice', 'data2', 'read'], ["bob", "data2", "read"]], 2, 'write');
$policies = [
['alice', 'data1', 'write'],
['alice', 'data2', 'read'],
['bob', 'data1', 'write'],
['bob', 'data2', 'read'],
];