До сих пор пытался сделать эту работу около часа, сейчас я использую cakephp 2, и все работает отлично, за исключением этого кода
Вот то, что у меня внутри Модель пользователя
var $actsAs = array('Acl' => array('type' => 'requester'));
public function bindNode($user)
{
# ativando o simplified node mode
# trabalharemos apenas com permissões referentes ao grupo e não a cada usuário
#
return array('model' => 'Grupo', 'foreign_key' => $user['User']['grupo_id']);
}
public function parentNode() # utilizado para determinar um relacionmamento Pai -> Filho
{
if (!$this->id && empty($this->data))
return null;
if (isset($this->data['User']['grupo_id']))
$groupId = $this->data['User']['grupo_id'];
else
$groupId = $this->field('grupo_id');
if (!$groupId)
return null;
else
return array('Grupo' => array('id' => $groupId));
}
public function afterSave( $created ) # depois que as infos deste usuario sao salvas
{
# Funcao para permitir atualizar os grupos dos usuarios
if (!$created)
{
$parent = $this->parentNode();
$parent = $this->node($parent);
$node = $this->node();
$aro = $node[0];
$aro['Aro']['parent_id'] = $parent[0]['Aro']['id'];
$this->Aro->save($aro);
}
}
В основном он делает все просто отлично, обновляет таблицу User с правильным group_id, и если я использую debug ($ aro), я вижу, что он пытается обновить с правильной информацией.
Однако $ this-> Aro-> save ($ aro), похоже, не работает, также Cake не показывает никаких сообщений об ошибках, перепробовал несколько способов отладки, но ошибки не отображается, просто не обновляется таблица aro.
У кого-нибудь есть идеи, почему это происходит?
PS: Grupo вместо Group и grupo_id вместо group_id также верны для таблиц, это просто перевод с английского на португальский только для этих двух случаев.