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

时间:2012-03-31 00:13:30

标签: php codeigniter codeigniter-datamapper

我遇到与Codeigniter DataMapper的关系时出现此问题。 我的Interview模型有author_idinterviewee_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') 
  );
}

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

1 个答案:

答案 0 :(得分:0)

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

似乎必须有一个user_id field然后对于其他关系我可以命名我想要的字段。因此,将interviewee_id更改为user_id seems即可进行演练。以防万一有人遇到同样的问题