簡體   English   中英

在CakePHP中使用HABTM進行保存

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM