【发布时间】:2014-01-22 11:12:27
【问题描述】:
我一周前才开始学习 Atk,并决定重新实现无法维护的业务 Intranet。
模型抽象使用起来非常酷,但我想知道如何为我的联结表指定多个主键。
例如,我有站点,我想在它们上分配机器一段时间。 Junction table
这对我来说非常重要,不要碰数据库。
【问题讨论】:
标签: atk4
我一周前才开始学习 Atk,并决定重新实现无法维护的业务 Intranet。
模型抽象使用起来非常酷,但我想知道如何为我的联结表指定多个主键。
例如,我有站点,我想在它们上分配机器一段时间。 Junction table
这对我来说非常重要,不要碰数据库。
【问题讨论】:
标签: atk4
如果您不允许在该联结表中添加简单的 auto_incremented id 字段,我想您可以在模型中使用 joins 来做到这一点。
但是添加id 字段对您来说会容易得多,并且将来也会更好地工作。
例如,您在删除没有唯一 id 字段的记录时可能会遇到一些问题。我知道 (id_machine,id_site) 在你的情况下很可能是独一无二的,但它仍然很难使用。一个简单的 id 字段更容易、更快、更好:)
【讨论】:
joins 或使用 hasMany 链接模型?
Dark 有一个很好的建议。你也可以创建一个计算的ID字段,我自己没试过,但试试吧
$model->getElement('id')->destroy();
$model->addExpression('id')->set('contact(id_machine,"-",id_site)');
【讨论】: