2012-03-31 21 views
5

我與Codeigniter的DataMapper有關係。 我有一個Interview模型,它有一個author_id和一個interviewee_id。它們都與用戶模型中的用戶標識相關。CodeIgniter/Datamapper:與同一張表不能正常工作的兩個一對多關係

我一直在嘗試幾種方法,沒有工作;這就是我現在所擁有的:

class Interview extends DataMapper 
{ 
    var $has_one = array(
    'interviewee' => array(
     'class' => 'user', 
     'other_field' => 'done_interview'), 
    'author' => array(
     'class' => 'user', 
     'other_field' => 'written_interview') 
); 
} 

class User extends DataMapper 
{ 
    var $has_many = array(
    'done_interview' => array(
     'class' => 'interview', 
     'other_field' => 'interviewee'), 
    'written_interview' => array(
     'class' => 'interview', 
     'other_field' => 'author') 
); 
} 

如何讓DataMapper的知道,一個關係將通過author_id,另通過interviewee_id

+1

似乎需要有一個'user_id'字段,然後對於其他關係我可以命名字段,但我想要的。因此,將'interviewee_id'改爲'user_id'似乎可以做演習。 以防萬一有人遇到同樣的問題。 – Nelo 2012-03-31 01:16:29

+5

請隨時發佈自己的問題的答案來幫助他人,如果這樣可以解決您的問題:[answer]。如果沒有更好的答案出現,您可以在一兩天後[接受](http://meta.stackexchange.com/a/5235/159834)。 – 2012-03-31 03:46:09

+0

顛覆這一點,希望@Nelo會創建並接受一個答案,將其從「未答覆」的查詢中移除。 – swatkins 2012-10-11 15:37:23

回答

0

報價Nelo誰回答了他在評論的問題:

這似乎需要有一個user_id field必要再爲其他的關係我可以命名,但是我想等領域。因此將interviewee_id更改爲user_id seems進行演習。以防萬一有人遇到同樣的問題

相關問題