2012-09-06 105 views
2

我試圖保存IssueHistoryDe​​scription,它屬於IssueHistory。 因此IssueHistory有許多歷史故事。這一切都在模型中設置。CakePHP:保存相關數據

然而,當我把它保存在IssueHistory,使用$IssueHistory->save($data);

(不管有沒有$IssueHistory->create();前...)

Array 
(
    [IssueHistory] => Array 
     (
      [id] => 22 
     ) 

    [IssueHistoryDescription] => Array 
     (
      [old_description] => OLD 
      [description] => NEW 
     ) 

) 

它不工作,沒有被保存。

當我嘗試使用saveAssociated()我得到一個錯誤:

致命錯誤:無法使用字符串作爲/var/www/xdev/kipdomanager/cakephp/lib/Cake/Model/Model.php數組offset上線2248

+0

您可以嘗試CakePHP的'白水()'方法... – thecodeparadox

回答

4

你可以試試這個:

$data = array(
    'IssueHistory' => array('id' => 2), 
    'IssueHistoryDescription' => array(
     array('old_description' => 'OLD', 'description' => 'new') 
    ) 
); 

$IssueHistory->create(); 
$IssueHistory->saveAll($data); 
+0

這做到了。我不知道你必須把hasMany字段放到另一個數組中。不過,我使用saveAssociated,因爲saveAll()顯然是專門用於HABTM數據的。 – skerit

+0

@skerit不錯..不客氣 – thecodeparadox