2017-02-09 29 views
1

我是新来的DBIC。我已经将数据导入数据库。无法在表格之间创建关系,因为显然,子表格的外键列中的所有值都不具有父表格中的对应值。是否可以在没有关系的数据库上使用DBIx :: Class?

那么还可以在表格之间进行连接吗?我浏览了教程和文档,但没有发现解决这个问题的东西。

+2

DBIx :: Class的缩写是DBIC。 DBIx是包含DBI eXtensions的整个CPAN名称空间。 –

+0

为什么你的父表不包含所有引用的行? –

+0

我不完全确定。这应该。我没有生成数据,它是从文件中导入的。我没有将多个数据库(每年一个)导入一个巨型数据库。我在每一个表上添加了一个“年份”列,我希望它可以用作多列外键的一部分,如下所示:'ALTER TABLE'ar_disbursements_emp_off' ADD CONSTRAINT'ar_disbursements_emp_off_fk' FOREIGN KEY('rpt_id','lm2_year ')参考'lm_data'('rpt_id','lm2_year')ON DELETE CASCADE ON UPDATE CASCADE' – StevieD

回答

2

您当然可以在DBIC模式中定义数据库中没有匹配约束的关系。 如果使用$ schema-> deploy,它将自动为所有外键列生成约束。

+0

我很困惑。它如何知道哪些列应该是外键? – StevieD

+0

定义belongs_to关系时。 –

相关问题