2016-06-09 54 views
1

我打算爲我的laravel項目使用軟刪除,並且我想知道如何確保數據一直保持正確?如何限制數據在軟刪除中保留正確的數據laravel

我的想法是這樣的:要創建軟刪除我必須創建delete_at列以使用軟刪除。但是如果我插入一條與「刪除」記錄完全相同的記錄(除了delete_at列的值),會發生什麼?

如果delete_at不在主鍵那麼我不能添加新的記錄嗎?但是如果我把delete_at放入主鍵呢?我認爲這是一個壞主意。

我該如何解決這個問題?

+0

deleted_at是一個時間戳,爲什麼甚至會使它成爲主鍵?默認情況下,將創建一條新記錄 - 假定字段在SQL表中未設置爲唯一。 –

+0

爲什麼不使用遞增的ID?即使在你的模型中,你將不得不指定一個主鍵,因此它被認爲是一個唯一的行。將時間戳記作爲主鍵不保證唯一性,並且您知道主鍵不能具有空值 – ClearBoth

回答

0

在軟刪除的情況下,幾乎總是使用自動遞增的整數主鍵來避免重新插入導致的約束違規。

相關問題