2011-01-20 24 views
1

我有一個類別產品多對多的關係。產品創建時,選擇一個或多個類別,然後保存產品。這工作正常,連接表正確填充。問題是當我去編輯產品時,我可以添加更多類別,更改它們等等。當我試圖保存時,問題就出現了,它失敗了。CakePHP更新多對多資源

,我使用保存行:

$this->Product->saveAll($this->data) 

$這個 - >產品展示 - > ID正確填充和$這個 - 調試>數據給了我這樣一個數組:

Array(

    [Product] => Array 
    (
     [0] => 17 
    ) 

    [Category] => Array 
    (
     [0] => Array 
      (
       [0] => 85 
      ) 

     [1] => Array 
      (
       [0] => 96 
      ) 

    ) 

) 

我不知道爲什麼它不保存,因爲我找不到任何地方的錯誤的任何細節。

任何幫助非常感謝。

回答

0

正如raultm所說,結構有點不對,但事實證明這是模型中的驗證。名稱和描述字段被設置爲不允許爲空,並且在結構中我沒有傳入這些字段(不知道您必須進行更新)。通過添加缺少的字段並正確命名字段中的字段,即id,名稱和說明,這工作。

1

我覺得這個結構是錯誤的。如果您正在編輯,產品的'id'字段在哪裏?

[Product] => Array 
(
    [id] => 17 
) 

我在應用程序中這樣做。我明天會看看(今天我不能查看源代碼),但我認爲id是問題所在。

+0

乾杯,你說得對,結構是錯的,但它也被驗證。 – chvck 2011-01-24 11:42:14