Doctrine 与学说的复杂关系

Doctrine 与学说的复杂关系,doctrine,relational-database,doctrine-1.2,Doctrine,Relational Database,Doctrine 1.2,我正在建立一个平台,游客可以在这里填写表格,要求对不同市场的产品和服务报价 游客约翰·多伊希望在他的屋顶上安装太阳能电池板。他访问我们的网站,挑选他的太阳能电池板类别,并填写表格。他的联系方式将发送给我们所有的太阳能电池板供应商 可请求报价的所有类别都存储在类别表中: 每个类别有2张表格需要填写: 一个表单,包含访问者的联系方式以及他们希望收到报价的类别。此表单对于每个类别都有相同的字段,并存储在查询表中: 一份表格,包含与该类别相关的具体问题。它们存储在类别字段表中: 这些问题的答案存储在查询

我正在建立一个平台,游客可以在这里填写表格,要求对不同市场的产品和服务报价

游客约翰·多伊希望在他的屋顶上安装太阳能电池板。他访问我们的网站,挑选他的太阳能电池板类别,并填写表格。他的联系方式将发送给我们所有的太阳能电池板供应商

可请求报价的所有类别都存储在类别表中:

每个类别有2张表格需要填写:

一个表单,包含访问者的联系方式以及他们希望收到报价的类别。此表单对于每个类别都有相同的字段,并存储在查询表中:

一份表格,包含与该类别相关的具体问题。它们存储在类别字段表中:

这些问题的答案存储在查询详情表中:

我使用的是原则1.2.4,我想了解如何保存查询详情表中的特定于类别的答案

目前我有以下解决方案,但我认为应该有更好的方法:将每个表单元素的name属性设置为category_field表中对应记录的id:

id | name
-------------------
1  | solar panels
2  | car rental
id | fk_id_category | name     | email              | Region
----------------------------------------------------------
1  | 1              | John Doe | johndoe@gmail.com  | New York
2  | 2              | Jane Doe | janedoe@gmail.com  | California
id | fk_id_category | label
---------------------------------------------------------------
1  | 1              | What type of roof do you have?
2  | 2              | What type of car do you want to rent?
3  | 2              | For how long do you want to rent the car?
id | fk_id_inquiry | fk_id_category_field | answer
---------------------------------------------------------------
1  | 1             | 1                    | A flat roof
2  | 2             | 2                    | An SUV
3  | 2             | 3                    | One week
<label for="2">What type of car do you want to rent?</label>
<input type="text" name="2" />
<label for="3">For how long do you want to rent the car?</label>
<input type="text" name="3" />
foreach($_POST as $key => $value) {
    $inquiryDetail = new Model_Inquiry_Detail();

    $inquiryDetail['fk_id_category_field']   = $key;
    $inquiryDetail['answer']                 = $value;

    $inquiryDetail->save();
}