我正在爲Concrete 5(5.4.0+)創建一個新包。插入一個新的塊可以很好地工作。但是,當我編輯現有的塊時,它會嘗試在我單擊「保存」時重新插入,而不是UPDATE。具體5 ADODB更新並插入重複主鍵
影響此數據庫的兩個字段是bID和eID。兩者都是non-auto-incrementing INT(10) default none NOT NULL
。
的值在控制器的關聯數組$args
過去了,我打電話父保存方法與Parent::save($args);
任何幫助/輸入,將不勝感激。 PS:我在網上查了一下,C5論壇確實翻了一些我嘗試過的東西,主要是關於數據庫領域,但我仍然遇到了上述錯誤。如果可能,我不想覆蓋ADODB save()方法。
---編輯---
也許我看着這一切都錯了。讓我說我想達到的目標。我需要eID在塊的多個編輯中保持37(例如)。 BID可以增加AFAIC。
如何讓eID在編輯時保持37,但在創建新實例時增加1?合理?
第二個表引用eID字段,並且除非創建新實例,否則此表上的編輯實例必須具有相同的eID。 Sry - 我清楚地知道泥。
呀,好點。我知道C5在'save'上創建了新的塊實例,但是我需要eID字段從一個編輯到另一個編輯保持一致,除非創建了一個新實例,在這種情況下,eID應該增加1,是否合理?你有一個好點 - 雖然我從錯誤的角度看待這個:( – Jongosi
eID的目的是什麼? – landollweb
您是否使用它來標識塊類型的每個實例?如果是這樣的話,那麼我認爲在大多數情況下,你可能試圖進行一個比你真正需要的更細粒度的控制。 – landollweb