2012-09-19 45 views
0

我不確定這個問題是關於MySQL數據庫還是關於框架。我想都是。Kohana3和MySQL:是否可以保留相關記錄?

因此,我的代碼刷新表,但從其他表中刪除其他相關記錄。下面的代碼在Kohana3框架中。

ORM::factory ('deal') ->delete_all(); //removes data 
    foreach ($deals as $deal) 
    { 
     //refreshes the Deals table row by row 
     $orm_deal = ORM::factory ('Deal'); 
     //... apply some values 
     $orm_deal = ->save(); 
    } 

問題:我不想從其他表中刪除記錄。如果交易中的「新鮮」記錄與相關記錄完全兼容,是否有可能通過更新的數據「更新」交易表,這樣就不會丟失鏈條。 我不想更改數據庫和外鍵連接的結構。我也不想改變模型中的任何關係。 我有其他選擇嗎? 謝謝。

+0

你只是想刷新每筆交易?爲什麼你要刪除所有交易,而不是隻更新它們?如果您想使用新交易續訂表並想以某種方式持有現有關係,則必須手動更新或重新分配關係,我想...... –

回答

1

沒有辦法「刷新」表格數據。

據我所知 - 您的交易數組可能與表內容不同(某些數組記錄是新的,某些表記錄舊且必須刪除,某些記錄必須更新)。

你的方式在這種情況下是最正確的。從表格中刪除所有記錄,然後用新記錄填充表格。

如果你想真正「刷新」表格數據與新的你必須編寫一個函數,將比較每個記錄(如果這個記錄是否在表中)和比較後刪除舊記錄,插入新的記錄或用新數據更新舊記錄。

相關問題