我正在努力让aco / aro在我的应用程序上运行。 cakePHP教程说当我添加一个用户时,它应该自动添加到aros表中,但它不起作用。
用户模型
class User extends AppModel {
var $name = 'User';
public $belongsTo = array('Group');
public $actsAs = array('Acl' => array('type' => 'requester'));
function beforeFilter() {
parent::beforeFilter();
$this->Auth->allowedActions = array('*');
}
public function parentNode() {
if (!$this->id && empty($this->data)) {
return null;
}
if (isset($this->data['User']['group_id'])) {
$groupId = $this->data['User']['group_id'];
} else {
$groupId = $this->field('group_id');
}
if (!$groupId) {
return null;
} else {
return array('Group' => array('id' => $groupId));
}
}
public function afterSave() {
$this->Aro->create();
$this->Aro->save(array('alias'=>$this->field('username')));
}
}
不应该行
public $actsAs = array('Acl' => array('type' => 'requester'));
执行cakePHP魔术并自动创建ARO?
答案 0 :(得分:0)
假设您的数据库有名为“groups”和“users”的表,我相信afterSave()中的代码是不必要的。设置$actsAs
后,您不必调用任何Aro方法。