首页 文章

在CakePHP的数据库中定义关系

提问于
浏览
0

我在CakePHP中尝试了一个示例项目 . 它取自cakePHP文档 . 它共有4个表,其中两个列在这里 .

CREATE TABLE users (
    id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(255) NOT NULL UNIQUE,
    password CHAR(40) NOT NULL,
    group_id INT(11) NOT NULL,
    created DATETIME,
    modified DATETIME
);

CREATE TABLE posts (
    id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
    user_id INT(11) NOT NULL,
    title VARCHAR(255) NOT NULL,
    body TEXT,
    created DATETIME,
    modified DATETIME
);

如您所见,users表中的id作为 user_id 形式的外键添加到posts表中 . 但是在样本中没有定义关系 . 我的意思是通常我们会通过添加约束(在我的情况下使用phpMyAdmin的Relation View)将 user_id 显式定义为外键 . 但这并没有在这里完成,或者我们没有被指示这样做 . 当使用 Cake Bake console 来烘焙我们的 Models 时,我们是否需要这个外键约束或者cakephp会自动将它们弄清楚吗?

1 回答

  • 1

    Convention over configuration

    Cakephp会自动为您计算出来,但您必须遵循naming conventions

相关问题