CakePHP определяет дополнительные поля в отношениях HABTM / ManyToMany? - PullRequest
2 голосов
/ 01 августа 2011

В основном я хотел бы воссоздать это в CakePHP:

Отношения многие ко многим с дополнительными данными об отношениях

или, другими словами, в моей промежуточной таблице есть дополнительные поля, определяющие тип отношений.

Как мне настроить это в CakePHP?

Вы можете использовать в качестве примера:

model company:
    id
    name
    person_id
model person:
    id
    name
model company_person:
    company_id
    person_id
    position

* 1014 спасибо *

Ответы [ 2 ]

6 голосов
/ 01 августа 2011

, если вы хотите иметь дополнительные данные в HABTM, используйте вместо этого 2 отношения hasMany. Поэтому, если A HABTM B, то установите его следующим образом: A hasMany A_B, B hasMany A_B, A_B принадлежит A, A_B принадлежит B. AFAIK, поддержка Cake для HABTM не очень гибкая.

1 голос
/ 01 августа 2011
class Person extends AppModel {
    ...
    $hasAndBelongsToMany = array('Company', array('with' => 'CompanyPerson'));
    ....
}
...