Cake 2 复杂 habtm 关系的数据模型 - 保存和加载

Posted

技术标签:

【中文标题】Cake 2 复杂 habtm 关系的数据模型 - 保存和加载【英文标题】:Cake 2 data model for complex habtm relationship - saving and loading 【发布时间】:2014-10-31 06:56:17 【问题描述】:

抽象问题的额外简化示例:

数据库结构是(简单版):

orders 
 id,
 name


items 
 id,
 name


items_orders 
 order_id,
 item_id,
 quantity # problem item - many to many tables don't usually have this can't get cake to upport

所以我有用于订单和商品的控制器和模型,它们都通过指定外键的 joinTable items_orders 相互关联,我可以加载订单及其所有商品,或者一个商品及其所在的所有订单,并保存它们等,但是我不知道如何保存/恢复数量。

我假设我需要创建一个额外的模型来处理这个问题,但是在这里找不到任何文档或类似的帖子来解释如何,或者是否有一个简单的快捷方式?

【问题讨论】:

【参考方案1】:

在连接表中使用额外字段很容易,并在说明书中进行了说明。

http://book.cakephp.org/2.0/en/models/associations-linking-models-together.html#hasmany-through-the-join-model

【讨论】:

不知道我是怎么错过的,谢谢。由于太新,无法为您的答案投票:( 如果我也可以在这里问:我曾经保存为:$this->Order->save(array('Order' => array('field' =>'value'),' Item' => array( 'Item' => array( id1, id2, idx ) ) ); 现在这样做会给我一个错误:模型“订单”与模型“项目”没有关联,但现在坚持第三次加入添加了模型如何保存整个内容......(以及如何包含额外的数量字段) - 是否有类似的食谱页面我找不到保存这种类型的结构? 你有说明书中描述的模型关联吗? Order有很多ItemOrder,Item有很多ItemOrder和ItemOrder是属于Order和Item的吗?我会执行以下操作:手动将一些数据添加到数据库并尝试查找,然后您将看到如何做到这一点。

以上是关于Cake 2 复杂 habtm 关系的数据模型 - 保存和加载的主要内容,如果未能解决你的问题,请参考以下文章

CakePHP 我应该在 HABTM 关系中使用 keepExisting 吗?

cakephp 在不使用视图的情况下保存 HABTM 关系的数据

Rails 搜索 HABTM 关系中的关联模型

CakePHP 保存 HABTM 数据

使用 HABTM 关系保存帖子标签

HABTM 多态关系