我有一種情況,出於外部原因,我不得不直接保存連接記錄,而不是將連接記錄保存爲連接的一部分。這就是我的意思:爲什麼saveAll()只保存最後一條記錄?
- 我有一個
Firm
模型,其數據是從外部來源拉。 - 我在我的應用程序的數據庫
- 一個
County
模型我有一個counties_firms
加入,我使用這些外部公司關聯到縣表。
因爲生活在哪裏,我不是編輯Firm
模型,也不是編輯County
模型。我真的只是編輯關聯。我有一個Firm
模型來封裝我需要用公司數據做的任何事情,其中一種方法是Firm::saveCounties($data)
。它:
- 接受傳入數據,包括公司ID和應該關聯的縣ID。
- 刪除該縣的所有現有加入記錄
- 嘗試保存所有新的加入記錄。
我在找的是隻有最後一個縣記錄被保存。這裏的輸入數據:
Array
(
[0] => Array
(
[firm_id] => 13
[county_id] => 4fa16e24-a25c-4523-8a9e-7d1d147402e8
)
[1] => Array
(
[firm_id] => 13
[county_id] => 4fa16e27-ccd0-4f22-97da-7d1d147402e8
)
[2] => Array
(
[firm_id] => 13
[county_id] => 4fa16e4a-68f8-4fb1-95bb-7d1d147402e8
)
)
鑑於這些數據,我創建Firm
和CountiesFirm
之間的即時關聯,並試圖$this->CountiesFirm->saveAll($data)
。
正如我所提到的,在這個例子中只有最後的3個縣協會正在得救。任何想法我可能會失蹤?
謝謝。
非常感謝你Stefan!我只是在做一個簡單的保存,不需要那麼高效,但只能將最後一條記錄導入數據庫。將ID設置爲NULL使其完美工作。 –