2015-07-10 69 views
0

我有一個評論表,它可以在項目的很多部分非常有用,例如,不僅在照片中。有沒有辦法實現一個通用評論模型/表,可以處理應該顯示評論的地方?在Laravel 5中創建通用評論模型

這是一個好主意,或者我應該分開網站的每個區域的評論?像comments_photoscomments_songscomnents_videos,等等?

謝謝。

+5

這正是你正在尋找http://laravel.com/docs/5.0/eloquent#many-to-many-polymorphic-relations –

+0

@pinkalvansia我讀了我的問題的答案,並開始思考它。也許在一張桌子上存儲很多評論並不是最好的主意。不管怎麼說,還是要謝謝你! – juniorgarcia

回答

1

總之是的,你可以創建通用評論作爲@pinkal vansia提到使用多態關係。

但在我看來,我不會將所有評論都存儲在一張表中。其中一個原因是性能。如果你要有很多評論,每行都有自己的類型。這樣的表格會導致更大的表格大小,並且需要額外的索引才能表現良好。

另外你應該記住,Laravel的ORM並不總是滿足需求。然後你必須編寫手動SQL,這將變得更加複雜。

而我反對的主要原因是因爲只有幾個角落的情況下,你需要使用系統中的所有評論而不是單一類型。因此,您每次使用它時都需要檢查正確的評論類型。所以在我看來,它沒有很好的理由就打破了KISS的原則。

+0

我看到你的觀點@insanebits。那麼我會保持KISS原則。謝謝您的幫助! – juniorgarcia