Paso en limpio el problema.
Estoy generando este array:
Cita: Array
(
[Friend] => Array
(
[user_id] => 8
[friend_id] => 7
)
)
Y guardando. La accion users/follow() es así:
Código PHP:
Ver originalfunction follow(){
if (!empty($this->params['pass'][0])) {
$user_id = $this->Session->read('Auth.User.id'); // 8
$friend_id = $this->params['pass'][0]; // 7
$data = array('Friend'=>array('user_id'=>$user_id, 'friend_id'=>$friend_id));
$this->User->save($data)
}
}
Y lo que me graba es esto:
Es decir, me graba dos lineas. La primera invierte el orden, porque debería ser 8 7. La segunda, creo que es consecuencia del modelo. Que dice así:
Código PHP:
Ver originalclass User extends AppModel
{
var $name = 'User';
var $hasAndBelongsToMany = array( 'className' => 'User',
'joinTable' => 'users_users', // solo para nombres no convencionales
'foreignKey' => 'user_id',
'associationForeignKey' => 'friend_id'
//unique' => true
),
'className' => 'User',
'joinTable' => 'users_users',
'foreignKey' => 'friend_id',
'associationForeignKey' => 'user_id'
),
'className' => 'Word', //Users
'joinTable' => 'users_words',
'foreignKey' => 'user_id',
'associationForeignKey' => 'word_id'
)
);
}