首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ColdFusion:与LinkTable和多个外键的关系

ColdFusion:与LinkTable和多个外键的关系
EN

Stack Overflow用户
提问于 2015-05-01 15:06:43
回答 1查看 583关注 0票数 0

我的数据库结构主要由每个表的多个主键组成,因此每个连接都需要多个列。我正在尝试使用ColdFusion (具体地说是11) ORM关系属性,它有一个可链接的。我认为问题在于,多到多关系的一方有两把钥匙,另一方只有一把钥匙。以下是我尝试过但没有成功的地方:

表设置

代码语言:javascript
复制
Staff            StaffSites       Sites
============     ============     ===========
YearID (PK)  --- YearID (PK)
StaffID (PK) --- StaffID (PK)     SiteName
StaffName        SiteID (PK)  --- SiteID (PK)

Staff

代码语言:javascript
复制
component persistent=true table='Staff' {
    property name='id'   column='StaffID' fieldType='id';
    property name='year' column='YearID'  fieldType='id';
    property name='name' column='StaffName';

    property name='sites'
        cfc='site'
        linkTable='StaffSites'
        fkColumn='YearID,StaffID'
        inverseJoinColumn='SiteID'
        mappedBy='id'
        fieldType='many-to-many'
        lazy=true;
}

站点ORM

代码语言:javascript
复制
component persistent=true table='Sites' {
    property name='id'   column='SiteID' fieldType='id';
    property name='name' column='SiteName';
}

ColdFusion错误

代码语言:javascript
复制
collection foreign key mapping has wrong number of columns: staff.sites type: integer
EN

回答 1

Stack Overflow用户

发布于 2015-05-01 22:35:05

如果联接表有多个外键列(该列引用目标表的复合键),则必须使用逗号分隔的列names.Also,指定列名的顺序必须与定义的复合键顺序相匹配。

US/ColdFusion/9.0/Developing/WS5FFD2854-7F18-43ea-B383-161E007CE0D1.html

应该支持复合键。

尝试切换id,因为您首先定义了staff id,并在id上指定orm类型,以防万一。另外,尝试将inverseJoinColumnfkColumn交换,我永远不记得哪个应该是哪个,但这是我会尝试的东西。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29989447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档