我正在構建一個包含大量類別的網站,每個類別都有其自己的特定表單字段。由於類別太多,我想將這些表單域存儲在數據庫中。將字符串和外鍵存儲在一列中
類別被存儲在
category
表:id | name ------------- 1 | Car info
該類別的字段被存儲在
category_field
表:id | fk_id_category | type | label ------------------------------------------------------------- 1 | 1 | text | Your name 2 | 1 | radio | What type of car do your drive?
如果
category_field
有一些預定義用戶可以從中選擇的選項存儲在category_field_option
表中:id | fk_id_category_field | label ----------------------------------------- 1 | 2 | 'Convertible' 2 | 2 | 'Truck' 3 | 2 | 'Minivan'
現在,當用戶填寫我們要保存在一個form_entry
表這樣的參考形式:
id | fk_id_user | fk_id_category
--------------------------------
1 | 1 | 1
該表格條目的詳細信息被保存在一個form_entry_details
表。但是:
如果
category_field.type
是text
我們應該回答保存爲字符串id | fk_id_form_entry | fk_id_category_field | [answer] ------------------------------------------------------- 1 | 1 | 1 | John Doe
如果
category_field.type
爲radio
,我要救一個外鍵category_field_option
id | fk_id_form_entry | fk_id_category_field | [fk_id_category_field_option] -------------------------------------------------------------------------- 2 | 1 | 2 | 2
怎麼可以我解決這個問題?我知道我可以將fk_id_category_field_option
作爲字符串存儲,但我需要它實際引用category_field_option
表,因爲我使用的是ORM(Doctrine 1.2.4)。
謝謝你指出,我不知道。 –