CakePHP 如何为用户-地图-属性一次在链接表中保存多条记录?
Posted
技术标签:
【中文标题】CakePHP 如何为用户-地图-属性一次在链接表中保存多条记录?【英文标题】:CakePHP How can I save many records in a link table at once for user - map - attributes? 【发布时间】:2014-02-04 22:50:48 【问题描述】:我有三个表/模型:
User(id)
Map(id, user_id, attribute_id)
Attribute (id, name)
地图属于其他人,其他人有很多地图。
我希望用户(通过用户控制器和用户视图)一次创建多个关联链接。假设用户表单(添加/编辑)有 10 个属性字段,都链接到同一个表,我该怎么做?
我需要一次在 Map 中保存多达 10 条记录。首先,我不确定该字段应该是什么 - create('Attribute.name')?此外,cake 向每个输入输出相同的输入名称,因为它们指向相同的字段 - 解决此问题的最佳方法是什么?
我已经阅读了相关文档,但没有从中得到太多。
谢谢!
【问题讨论】:
【参考方案1】:您可以使用saveAssociated() method。根据链接给出的说明准备一个输入数组,直接使用$this->User->saveAssociated($your_array, array('deep' => true));
【讨论】:
那个链接没有用。查找我是否要保存用户或属性,但我不这样做,我需要保存它们之间的链接。我可以看到如何手动执行此操作,为每个传递一个 id,但我认为 cake 应该能够自动执行此操作?这是一个 hasManyThrough以上是关于CakePHP 如何为用户-地图-属性一次在链接表中保存多条记录?的主要内容,如果未能解决你的问题,请参考以下文章
Spring Security OAuth2:如何为两类用户提供两个单独的登录链接?