私のDBには、jobs
テーブル、details
テーブル、およびテーブルがありemployers
ます。
jobs
とdetails
は 1 対 1 の関係にあり、employers
とdetails
は 1 対多の関係にあります。すべての仕事に詳細があるわけではありませんが、すべての詳細に 1 つの雇用主がいます。
id
からフィールドを削除し、そのフィールドを主キーとしてdetails
使用するのが理にかなっていると思いました。job_id
DB エンジンは InnoDB であるため、主キーの結合は非常に高速である必要があります。
したがって、テーブルを変更し、モデルに主キー宣言を追加した後でも、details
経由で詳細にアクセスできます$job->detail
。ただし、このコード行:
$employer = $job->detail->employer->name;
エラーが発生します:
未定義のインデックス: detail_job_id
カスタム主キー以外は何も変更していないので、これが問題の原因であることはわかっていますが、これまでカスタム主キーを使用したことがないため、エラーの原因や修正する必要があるものはわかりません。
カスタム主キーで Kohana2 ORM を使用した人はいますか?