2011-05-22 29 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');