我正在尝试 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 表中。但在示例中没有定义关系。我的意思是,通常我们会通过添加约束来显式定义 user_id
作为外键(在我的例子中使用 phpMyAdmin 的关系 View )。但这里没有这样做,或者我们没有被指示这样做。当使用Cake Bake console
来烘焙我们的Models
时,我们是否需要这个外键约束,或者cakephp会自动计算出它们吗?
最佳答案
约定优于配置
Cakephp 会自动为您计算出它们,但您必须遵循 naming conventions
关于php - 为 CakePHP 定义数据库中的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25028617/