Temat: Baza-Model-Relacje
Witam,
dopiero zaczynam zabawę z CakePHP więc nie wiem wszystkiego. Mam pewien problem. Zacznę najpierw od bazy:
Tak mam ułożona bazę, stworzyłem sobie tak na szybko wykorzystując bake. Aktualnie tabele mam połączone w sposób:
1. Person model(dla tabeli People):
var $belongsTo = array(
'Type' => array(
'className' => 'Type',
'foreignKey' => 'type_id',
),
'Degree' => array(
'className' => 'Degree',
'foreignKey' => 'degree_id',
),
'Institute' => array(
'className' => 'Institute',
'foreignKey' => 'institute_id',
)
);
2. Type:
var $belongsTo = array(
'Habilitation' => array(
'className' => 'Habilitation',
'foreignKey' => 'habilitation_id',
),
'Professor' => array(
'className' => 'Professor',
'foreignKey' => 'professor_id',
),
'Doctor' => array(
'className' => 'Doctor',
'foreignKey' => 'doctor_id',
)
);
var $hasMany = array(
'Person' => array(
'className' => 'Person',
'foreignKey' => 'type_id',
'dependent' => false,
)
);3. i np professors:
var $hasMany = array(
'Type' => array(
'className' => 'Type',
'foreignKey' => 'professor_id',
'dependent' => false,
)
);pozostałe 2 doctors, habilitations są podobne(będą). Zadaniem moim jest aby przy tworzeniu nowej osoby(tabela People) zaznaczyć przypisanie do któreś z tych trzech D/P/H. Po to stworzyłem tabele types, tylko nie bardzo wiem czy dobrze relacje w cake utworzyłem. Zacząłem się zastanawiać czy do połączenie nie wykorzystać aftersave() gdzie po zapisaniu w tabeli osobnika ręcznie utworzyć połączenie do wybranej tabeli.
Jakby coś było niezrozumiałe to pytać wytłumaczę ;]