/** * saveRole * * 保存角色信息包括action * * @param array $params * @return void */ public function saveRole(array $params) { $this->rname = $params['name']; $this->save(); $roleInfo = $this->find('rname=:name', array(':name' => $params['name'])); $roleaction = new RoleAction(); $roleaction->deleteAll('rid=:id', array(':id' => $roleInfo['rid'])); if (!empty($params['actions'])) { $ret = array(); foreach ($params['actions'] as $a) { if (isset($params['positions'][$a])) { $ret[$a] = $params['positions'][$a]; } else { $ret[$a] = 0; } } $roleaction->saveActions($roleInfo['rid'], $ret); } }