我將在當前正在製作的網站上創建比賽。每個競賽都不會相同,並且可能有不同數量的輸入字段,用戶必須輸入以成爲競爭的一部分,例如。比賽:存儲任意數量的字段
比賽1可能只是需要一個姓
比賽2可能需要一個名字,姓氏和電子郵件地址。
我也將構建一個工具來觀察這些條目,以便我可以查看每個單獨的條目。
我的問題是什麼是最好的方式來存儲任意數量的字段?我想到了兩個選擇,一個是將每個條目寫入包含競爭對手所有條目的CSV文件,另一個是在數據庫中有一個帶有varchar字段的數據庫表,只將整個條目存儲爲文本。這兩種方法看起來都很混亂,這種任務有沒有普遍的做法?
我理論上可以爲每個可能的字段創建一個帶有列的數據庫表,但當競爭對象具有特定要求時不起作用,例如「用100個單詞告訴我們爲什麼...」或「輸入5最喜歡的事情。」
回答說:
我已經決定使用下面那裏有可以利用的每競爭多個不同用途的通用列中描述的方法。
最初我打算使用EAV,我仍然認爲它可能稍微適合這種特定場景。但是由於擴展性差和查詢複雜,通常不推薦使用它,而且我也不想養成使用它的習慣。這兩個答案在我的測試中工作得很好。
如果你正在尋找內存實體來存儲任意數量的字段,我認爲'List'應該是最好的。 –
謝謝,但不是尋找在內存中存儲。我正在尋找在哪裏存儲一份可能會在那裏呆一個月的固體副本。 –