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 吗?