CodeIgniter/Datamapper:同一个表的两个一对多关系不起作用

Nel*_*elo 5 php codeigniter codeigniter-datamapper

我在与CodeigniterDataMapper的关系中遇到了这个问题.我有一个Interview模型,有一个author_id和一个interviewee_id.它们都与用户模型中的用户ID相关.

我一直在尝试几种方法而没有工作; 这就是我现在所拥有的:

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') 
  );
}
Run Code Online (Sandbox Code Playgroud)

我如何让DataMapper知道一个关系将通过author_id,另一个通过interviewee_id

小智 0

引用Nelo在评论中回答他的问题:

似乎需要有一个user_id field必然的关系,然后对于其他关系,我可以随意命名字段。所以改为interviewee_id进行user_id seems练习。以防万一有人遇到同样的问题