蛋糕PHP:关系问题


CakePHP: Relationship Questions

我在确定我的第一个 CakePHP 项目的关系时遇到了问题。我正在尝试建立一个背包装备清单管理系统。这是我的表格:

齿轮 - 每个齿轮项目都属于一个类别,但可以位于多个齿轮列表中,但特定于用户。

类别 - 上述装备项目的类别。类别是唯一的。

齿轮列表 - 每个齿轮列表可以分配给许多不同的行程,并且是用户特定的。将项目添加到此列表后,将无法再次添加。

行程 - 每次行程都有一个装备列表。每次旅行都是独一无二的。

用户 - 每个用户都有自己的项目、类别、装备清单和行程。

我的问题,我应该

为装备列表设置什么模型,我应该使用什么关系?是否应该有一个用于存放两个表中数据的齿轮列表项的表?如何将多个项目添加到数据库中的单个齿轮列表中?我是否需要在同一行中存储多个item_id?

我能想到的最接近的例子是购物车。你有待售物品,你有一个购物车(齿轮清单)。将物料添加到购物车,然后购买购物车(将其分配给行程)。

在单个记录上存储同一表的多个外键通常是错误的方法。

对我来说,听起来您正在寻找一种多对多关系,即hasAndBelongsToMany关联,其中GearList HABTM GearItem,反之亦然(如果您希望GearItem::find()返回关联的GearList记录)。

关联存储在一个单独的连接表中,这样GearItem可以分配给许多不同的GearList,而GearList可以有许多不同的GearItem

另请参阅保存相关模型数据 (HABTM)。