2014-01-22 95 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)');