Как дать 3 отношения к одной и той же таблице в Cakephp

Привет, я новичок в торте php и не могу решить проблему. Проблема в том, что у меня есть таблица типа;

идентификатор varchar (16)

parent_id varchar (16)

текст текст

user_id bigint(20)

бит is_deleted_by_user (1)

бит is_deleted_by_us (1)

who_deleted bigint(20)

who_answered bigint(20)

модифицировано_в дату и время

created_at дата/время

в этой таблице я хочу указать отношения между таблицей пользователей и user_id, who_deleted, who_answered. Я имею в виду, что user_id, who_deleted и who_answered — это один идентификатор пользователя. Как я могу установить отношения между таблицей пользователей и этой таблицей?


person Xenon    schedule 23.09.2010    source источник


Ответы (1)


Относительно легко создать несколько связей с одной и той же моделью. Существует раздел документации, посвященный Это. Вот как я сделал это для модели Resource, которая имеет несколько полей, связанных с моделью Binary:

class Resource extends AppModel {
  public $belongsTo = array ( 
    'PDF' => array (
      'className'  => 'Binary',
      'foreignKey' => 'pdf_file_id'
    ),
    'MSWord' => array (
      'className'  => 'Binary',
      'foreignKey' => 'msword_file_id'
    )
  );

  ... other class code ...
}

Таблица resources содержит поля pdf_file_id и msword_file_id, каждое из которых ссылается на запись Binary.

Надеюсь, это поможет.

person Rob Wilkerson    schedule 23.09.2010