[英]Saving with HABTM in CakePHP
我一次創建多個關聯,在保存方面存在一些問題。
我有以下代碼:
<?php
foreach($userData as $user) {
$data = array('User' => array('id' => $user['id']), 'Site' => array('id' => $user['site_id']));
$this->User->save($data);
}
?>
雖然我總是遇到同樣的問題,但我已嘗試以不同的方式格式化數據數組。 插入新的條目或更新當前條目時,前一個條目將被移動。
我可以使用以下內容,但我需要觸發一個行為。
$this->User->SiteUser->save($data);
編輯:還$ this-> User-> create(); 似乎做得不多。
IRC幫助解決了問題,一旦將唯一鍵設置為false,一切都能正確保存。
//In the user model
var $hasAndBelongsToMany = array(
'Site' => array(
'className' => 'Site',
'unique' => false
)
);
嘗試在新的save()
之前重置id
,可能在兩個模型上:
$this->User->id = null;
Cake決定是否根據set id
更新或插入條目, save()
自動設置id
。 不確定為什么create()
不會為你處理這個問題。
此外,如果要保存HABTM數據,則需要使用saveAll()
而不是save()
。 另見這個問題 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.