2011-07-12 70 views
0

我想知道以下,如果我有這兩種模式:CakePHP的關聯定製方法

Author 
Book 

和每一個作者寫了幾本書,有一些其他作家一起。

所以基本上每本書有:

Title MainAuthor CoAuthor

現在,在我的應用程序需要檢查很多,如果一個Auther要麼是MainAuthorCoAuthor。我的想法是在Author模型中創建一個方法來檢查這一點。

所以基本上,我可以做這樣的事情:

$this->Author->hasWritten($bookId)

不過,我想知道,你覺得這個approuch的東西,你會怎麼做呢?

回答

0

對我來說這似乎是正確的,但我認爲Book可能有兩個主要Authors或更多,以及其他更多CoAuthors。 在你的解釋中,我明白一個Book只有一個MainAuthor和一個CoAuthor。如果這是真的,那麼系統就像你描述的那樣很好,但是如果像我寫的那樣,你必須考慮創建一個幫助表。

+0

不,你說得對。我通過使用書籍/作者簡化了這個問題。一本書確實可以只有一個作者,並且只有一個合作者 –

+0

如果是這樣的話。我認爲你的approuch是正確的。 爲'作者'創建一張表,併爲'圖書'創建一張表。在'書籍'表中,我將創建這兩個字段,'MainAuthor'獲取mais作者的id,''CoAuthor'如果'Book'有兩個作者。如果本書只有一位作者,請將CoAuthor字段保留爲空/空。 –