yii\rbac\DbManager::updateRule PHP Method

updateRule() protected method

protected updateRule ( $name, $rule )
    protected function updateRule($name, $rule)
    {
        if ($rule->name !== $name && !$this->supportsCascadeUpdate()) {
            $this->db->createCommand()->update($this->itemTable, ['rule_name' => $rule->name], ['rule_name' => $name])->execute();
        }
        $rule->updatedAt = time();
        $this->db->createCommand()->update($this->ruleTable, ['name' => $rule->name, 'data' => serialize($rule), 'updated_at' => $rule->updatedAt], ['name' => $name])->execute();
        $this->invalidateCache();
        return true;
    }

Usage Example

 /**
  * @inheritdoc
  */
 public function updateRule($name, $rule)
 {
     parent::updateRule($name, $rule);
     if ($rule->name !== $name) {
         $this->_items = null;
         $this->invalidate(self::PART_ITEMS);
     }
     if ($this->_rules !== null) {
         unset($this->_rules[$name]);
         $this->_rules[$rule->name] = $rule;
     }
     $this->invalidate(self::PART_RULES);
     return true;
 }