CF-ORM如何映射这些字段/表
我有两张桌子CF-ORM如何映射这些字段/表,orm,coldfusion,one-to-many,many-to-one,table-relationships,Orm,Coldfusion,One To Many,Many To One,Table Relationships,我有两张桌子 tb_员工 tb_订单 tb_员工具有以下字段 empID 名称 tbu订单包含以下字段 订单ID clientName 接受EMP(参考tb\U员工) 经批准的EMP(参考tb\U员工) 当我提取数据时 “emp”工作正常 “emp已批准”“显示emp已接受的数据 EMP未显示其自身的数据 有人知道如何在CF ORM中正确地映射这一点吗 我有很多失败 我可以把它们全部贴出来——但是,我认为这需要很长的时间 他们没有一个人工作 我想学习如何正确地规划这个场景正确的方法 我想我
- “emp”工作正常
- “emp已批准”“显示emp已接受的数据
<!---- 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" />
<!---- 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" />
tb\U订单
<!---- 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" />
<!---- 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" />
试试看
<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_员工上,如果你想控制这种关系,你可能需要级联和反转。。。像这样
<cfproperty name="approved" type="Array"
fieldtype="one-to-many"
inverse="true"
cfc="tb_Orders"
fkcolumn="empApproved"
singularname="tb_Order"
cascade="all-delete-orphan"/>
请记住,这是“对象”关系映射,而不是“关系表”映射。养成用“对象”和它们之间的关系而不是数据库来思考的习惯是个好主意。如果你发布你当前的映射,这会有所帮助。我想知道是否有人知道如何正确映射。这是绝对可能的。你能发布你的代码吗?我想展示我的代码-我的映射。我做了几个版本。没有一个能正常工作。我不确定我应该显示哪些“失败”。好的,我会尝试一下,然后公布结果。还有,我仍然试图在“对象”注释上思考“对象”,如果你的CFC真的被命名为“TBYORDER”,你可以考虑把它重命名为类似的命令。此CFC的每个实例代表一个订单。想想看,你在描述一个订单。ORM所做的唯一一件事就是将这个顺序与一些数据库规则联系起来。如何将此问题标记为“已回答”?谢谢!