В CakePHP не имеет значения, если вы указываете FK на уровне базы данных, однако, если вы это сделаете, это будет действовать так, как вы ожидаете при типичных операциях с базой данных.
Если у вас есть 2 таблицы - студенты и курсы, где каждый студент принадлежит к курсу, вы можете указать это следующим образом:
<?php
class Student extends AppModel {
var $name = 'Student';
var $belongsTo = array(
'Course' => array(
'className' => 'Course',
'foreignKey' => 'course_id'
)
);
}
?>
Соглашение заключается в добавлении "_id" в конце имени единственного класса модели, к которой он принадлежит.
Если вы используете соглашения об именах CakePHP, вы можете просто заявить:
<?php
class Student extends AppModel {
var $name = 'Student';
var $belongsTo = array('Course');
}
?>