CF-ORM如何映射这些字段/表

时间:2012-03-20 12:01:54

标签: orm coldfusion one-to-many many-to-one table-relationships

我有2张桌子。

  1. tb_Employees
  2. tb_Orders
  3. tb_Employees 包含以下字段

    1. EMPID
    2. 命名
    3. tb_Orders 包含以下字段

      1. 的orderID
      2. CLIENTNAME
      3. empAccepted (参考tb_Employees)
      4. empApproved (参考tb_Employees)
      5. 当我提取数据时;

        • empAccepted ”工作正常。
        • empApproved ”显示来自empAccepted的数据

        empApproved 未显示自己的数据。

        有谁知道如何在CF ORM中正确映射?

        < ----------------已添加---------------->

        我有很多失败。

        我可以张贴所有这些 - 但是,我认为这是时间的余地。

        他们没有工作

        我想了解如何正确映射此方案。 正确的方式

        我以为我提供了足够的基本信息来进行制图。

        但是,由于受欢迎的需求:)))))

        我应该发布哪个“失败”?

        我发布了一个失败的帖子。 (我有超过12次失败)。

        关于不这样做的12个不​​同文件。 :))))

        我已经改变了很多次。拿出来的东西。添加了东西。

        我只想知道如何正确映射此方案。

        tb_Orders.empApproved ...继续显示来自...的数据... tb_Orders.empAccepted

        tb_Employees

        <!---- properties ---->
        <cfproperty     name="empID"                    
                fieldtype="id" 
                setter="false" 
                column="empID_pk" 
                generator="native"  />
        
        <cfproperty     name="name" 
                type="string"  />
        
        
        
        <cfproperty     name="approved" 
                fieldtype="one-to-many" 
                cfc="tb_Orders" 
                fkcolumn="empApproved"  />
        
        <cfproperty     name="accepted" 
                fieldtype="one-to-many" 
                cfc="tb_Orders" 
                fkColumn="empAccepted"  />
        

        tb_Orders

        <!---- properties ---->
        <cfproperty     name="orderID"                      
                fieldtype="id" 
                setter="false" 
                column="orderID_pk" 
                generator="native"  />
        
        <cfproperty     name="clientName" 
                type="string"  />
        
        
        <cfproperty     name="empAccepted"  
                insert="false" 
                update="false" 
                fieldtype="many-to-one" 
                cfc="tb_Employees" 
                inverse="true"  />
        
        
        <cfproperty     name="empApproved"  
                insert="false" 
                update="false" 
                fieldtype="many-to-one" 
                cfc="tb_Employees" 
                inverse="true"  />
        

1 个答案:

答案 0 :(得分:1)

放手一搏。

<cfproperty name="empAccepted" type="tb_Employee"
        fieldtype="many-to-one"
        cfc="tb_Employee"
        fkcolumn="empAccepted"/>

<cfproperty name="empApproved" type="tb_Employee"
        fieldtype="many-to-one"
        cfc="tb_Employee"
        fkcolumn="empApproved"/>

此外,在 tb_Employees 上,如果你想要控制这种关系,你可能会想要级联和逆转......就像这样

<cfproperty name="approved" type="Array"
    fieldtype="one-to-many"
    inverse="true"
    cfc="tb_Orders"
    fkcolumn="empApproved"
    singularname="tb_Order"
    cascade="all-delete-orphan"/>

请记住,这是“对象”关系映射,而不是“关系表”映射。养成习惯于思考“对象”以及它们如何相关而不是数据库的习惯是一个好主意。