2011-05-22 52 views
1

在我的DB我有一個jobs表,details表和employers表。Kohana 2 ORM自定義主鍵生成錯誤

jobsdetails是在一對一的關係,和employersdetails是在一對多的關係。並非所有工作都有詳細信息,但所有細節都有一位僱主。

我認爲從details中刪除id字段並使用job_id字段作爲主鍵是有意義的。數據庫引擎是InnoDB,所以主鍵連接應該是閃電般的。

因此,在更改表格並在details模型中添加主鍵聲明後,我仍然可以通過$job->detail訪問詳細信息。然而,這行代碼:

$employer = $job->detail->employer->name; 

產生一個錯誤:

Undefined index: detail_job_id

我從自定義主鍵什麼也沒有改變之外,所以我知道這是問題的根源,但我以前從未使用過自定義主鍵,所以我不確定是什麼導致了錯誤或我需要修復。

任何人都使用Kohana2 ORM自定義主鍵?

回答

1

AFAIR在v2.3.4中,您可以使用$foreign_key屬性爲相關模型定義FK。類似於protected $foreign_key = array('employer' => 'detail_id');