2014-01-22 60 views
0

就在一个星期前我开始学习Atk,并决定重新实现无法维护的企业内部网。有多个主键的连接表

模型抽象非常酷,但我不知道如何为我的联结表指定多个主键。

例如,我有网站,我想分配一段时间的机器。 Junction table

这对我来说非常重要,不要触摸数据库。

回答

0

我想你可以在你的模型中使用joins这样做,如果你不允许在该结点表中添加简单的auto_incremented id字段。

但是加入id这个字段对你来说会容易得多,而且以后也会更好。

例如,您可以在删除没有唯一ID字段的记录时遇到一些问题。我知道(id_machine,id_site)在您的案例中很可能是独一无二的,但仍然很难合作。一个简单的ID字段更容易,更快,更好:)

+0

THX我想我会尝试重新站在我这一边的数据库,然后如果有说服力的数据迁移。完成后,我是否必须将模型链接到“连接”或使用“hasMany”? – Sluggogle

+0

然后用hasMany&hasOne。 – DarkSide

0

黑暗有一个很好的建议。您还可以创建一个计算ID字段,我从来没有尝试过自己,但不要尝试

$model->getElement('id')->destroy(); 
$model->addExpression('id')->set('contact(id_machine,"-",id_site)');