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

View File

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