在CakePHP中使用HABTM进行保存

Dan*_*ake 3 php cakephp has-and-belongs-to-many

我一次创建多个关联,在保存方面存在一些问题.

我有以下代码:

<?php
foreach($userData as $user) {
    $data = array('User' => array('id' => $user['id']), 'Site' => array('id' => $user['site_id']));
    $this->User->save($data);
}
?>
Run Code Online (Sandbox Code Playgroud)

虽然我总是遇到同样的问题,但我已经尝试过以不同的方式格式化数据数组.插入新的条目或更新当前条目时,前一个条目将被移动.

我可以使用以下内容,但我需要触发一个行为.

$this->User->SiteUser->save($data);
Run Code Online (Sandbox Code Playgroud)

编辑:还$ this-> User-> create(); 似乎做得不多.

Dan*_*ake 8

IRC帮助解决了问题,一旦将唯一键设置为false,一切都能正确保存.

//In the user model
var $hasAndBelongsToMany = array(
  'Site' => array(
    'className' => 'Site',
    'unique' => false
  )
);
Run Code Online (Sandbox Code Playgroud)