2011-10-20 104 views
0

我在我的數據庫中有一個名爲notifications的表和一個名爲notes的表。 Notifications在筆記上有一個外鍵引用,我希望CakePHP認識到這個值可以爲null,我是否需要在模型中設置任何東西以使其生效?或者只有DB上的約束是必需的?CakePHP - 爲belongsTo外鍵允許爲空值

+1

您應該在主鍵字段中避免空值。 –

+0

這是我所說的外鍵領域,而不是主要領域。我的問題不清楚嗎? – 8vius

+0

你試過了嗎? – mark

回答

2

我這樣做很頻繁。您遇到的唯一問題是Cake將空值存儲爲對外鍵不利的空字符串。我寫了一個簡單的,愚蠢的NullableBehavior來解決這個問題。

+0

你能詳細解釋一下嗎?如果不是太麻煩 – 8vius

+0

說明哪個?如果您在記錄中有一個空的外鍵值,它將作爲一個空字符串插入。這會導致問題,因爲空字符串是一個值,它不會匹配父表中的任何內容。可空行爲掃描正在插入的數據,如果數據庫字段設置爲允許空值,則將空值('')轉換爲空值。 –

+0

在麪包店發現腳本,謝謝 – 8vius