CakePHP имеет много связей с несколькими столбцами - PullRequest
3 голосов
/ 13 мая 2010

Я использую CakePHP Framework для создания веб-приложения. Самая простая форма моей проблемы такова:

У меня есть таблица пользователей и таблица сообщений с соответствующими моделями. Сообщения отправляются от пользователя другому пользователю. Таким образом, таблица сообщений содержит столбцы from_id и to_id, которые ссылаются на id пользователей. Я могу связать модель сообщения с моделью пользователя, используя $ ownTo, но не могу связать модель пользователя с моделью сообщения (в обратном направлении), используя $ hasMany таким же образом.

 var $hasMany = array(
  'From' => array(
   'className' => 'Message',
   'foreignKey' => 'from_id',
   'dependent' => false,
   'conditions' => '',
   'fields' => '',
   'order' => '',
   'limit' => '',
   'offset' => '',
   'exclusive' => '',
   'finderQuery' => '',
   'counterQuery' => ''
  ),
  'To' => array(
   'className' => 'Message',
   'foreignKey' => 'to_id',
   'dependent' => false,
   'conditions' => '',
   'fields' => '',
   'order' => '',
   'limit' => '',
   'offset' => '',
   'exclusive' => '',
   'finderQuery' => '',
   'counterQuery' => ''
  )
 );

Что тут можно сделать? Есть идеи? Спасибо за любую помощь.

1 Ответ

2 голосов
/ 13 мая 2010

Вы можете связать две модели одновременно с 'hasMany' или 'ownTo' с разными внешними ключами. Так как я не нашел ни одного примера из кулинарной книги, я протестировал это с крошечным кусочком кода и это сработало, как и ожидалось.

...