【发布时间】:2010-12-15 17:02:14
【问题描述】:
我有以下关联:
组 hasAndBelongsToMany 用户,与 groups_users 连接表。
当我创建一个新组时,我想将组的创始人添加到联接表中。
我的 $this->data 数组看起来像:
Array
(
[Group] => Array
(
[name] => seyufgsduifsj
[access] => 2
[founder_id] => 3
[random_key] => I6XC7uMTelpTSdq8DbtLPjqubiF7s6Pn
)
[GroupsUser] => Array
(
[user_id] => 3
[group_role_id] => 1
[random_key] => PZsDZXcoCTHw1IuvqsfURVpPX6AcZ3r2
)
)
我尝试使用 save() 和 saveAll(),但它只会在组表中添加组,而不是用户组关联。
所以,基本上,我有一个添加表单,用户可以在其中填写组名和访问权限。然后,如果数据有效,我会向组数组(如 random_key)和连接表数组(如 user_id 和 group_role_id)添加更多字段值。我希望 Cake 首先保存组,获取它的 id,使用正确的 group_id 更新连接表数组,然后也保存第二个数组。
这是否可能以直接的方式实现,还是我必须编写两个后续的 save() 方法,第二个方法提供第一个中最后插入的 id?
谢谢!
【问题讨论】: