mysql - CakePHP:在非 HABTM 关系上使用联接表

标签 mysql cakephp database-schema belongs-to join

我有一个用 MySQL 表示的关系

Classified belongsTo Category
Category hasMany Classifieds

之前,我设置了Classified.category_id,但有些分类没有分类,而且很多分类没有任何广告。这种关系是可选的。

我已规范化数据库以在第三个表categories_classifieds 中表示数据库。

categories_classifieds
----
classified_id (primary, not null)
category_id (not null)

以这种方式标准化的原因是为了避免空值,同时也是为了

我正在尝试在 CakePHP 2 中为数据库创建模型,但似乎不支持这种简单的关系。这可能吗? categories_classifieds 连接表是否需要制作成自己的模型?

预先感谢您的任何见解。

以下是当前模式和建议模式的鱼尾纹 ER 图: http://i.stack.imgur.com/1BBVV.jpg

最佳答案

这是一个hasAndBelongsToMany关系。

请确保遵循 cake 的约定,并创建一个单独的 id 字段作为连接模型的主键。您甚至可能不需要为其创建模型,并在模型中建立必要的关系后让一切自动进行。

关于mysql - CakePHP:在非 HABTM 关系上使用联接表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17659733/

相关文章:

php - Laravel 时间戳显示毫秒

php - PHP中如何将数据库数据解析成各种表

sql - 使用 jdbc 创建 db2 模式

php - 简单的照片分享网站 : How to structure the MySQL database for multiple users and their photos

python - 错误代码 1215 : Why Can't I Add Foreign Key

mysql - 使用 coalesce 和 join 计算一列与多行之间的差异

mysql - 数据库中删除了尖括号 (<>) 之间的字符?

javascript - 如何向 CakePHP 脚本 block 添加换行符?

Cakephp 图像 - 无法确定 mimetype

sql - 如何在 postgres 9.3 中存储少量关系数据(例如用户角色)?