1

在我的数据库中,我有一张jobs桌子、一张details桌子和一张employers桌子。

jobsdetails是一对一的关系,employersdetails是一对多的关系。并非所有工作都有详细信息,但所有详细信息都有一个雇主。

id我认为从 中删除该字段details并将该job_id字段用作主键是有意义的。数据库引擎是 InnoDB,所以主键连接应该快如闪电。

因此,在更改表格并在模型中添加主键声明后,details我仍然可以通过$job->detail. 但是,这行代码:

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

产生错误:

未定义索引:detail_job_id

除了自定义主键之外,我没有更改任何内容,所以我知道这是问题的根源,但我以前从未使用过自定义主键,所以我不确定是什么导致了错误或我需要修复什么。

有人使用带有自定义主键的 Kohana2 ORM 吗?

4

1 回答 1

1

AFAIR,在 v2.3.4 中,您可以使用$foreign_key属性为相关模型定义 FK。就像是protected $foreign_key = array('employer' => 'detail_id');

于 2011-05-23T05:58:09.783 回答