【发布时间】:2023-03-27 02:32:01
【问题描述】:
如此快速地概述了我正在尝试做的事情。用户有很多BusinessUnitsUser。 BusinessUnithasMany BusinessUnitUser.
通过这种方式,我将它们与两个 hasManys 的关系标准化(我讨厌使用与 HABTM 相关的数据)。
在一个新的用户表单上,我想给用户同时添加一个新业务部门的选项。
目前,我的$this->request->data 数组如下所示:
Array
(
[User] => Array
(
[title] => Mr
[first_name] => Kyle
[last_name] => O'Brien
[username] => 55546@mylife.unisa.ac.za
[producing_office_id] => 4
)
[BusinessUnit] => Array
(
[name] => lskfjsldkfjsdlfk
)
)
现在,这显然是不正确的,但我正在努力思考如何解决这个问题。我想给你一个数组的视觉效果,你也许可以告诉我我的数组应该是什么样子。
这是我在BusinessUnitsUser 中的关系数组:
public $belongsTo = array(
'User' => array(
'className' => 'User',
'foreignKey' => 'user_id',
'conditions' => '',
'fields' => '',
'order' => ''
),
'BusinessUnit' => array(
'className' => 'BusinessUnit',
'foreignKey' => 'business_unit_id',
'conditions' => '',
'fields' => '',
'order' => ''
)
);
编辑(感谢 ndm)
注意目标:我正在添加一个用户,我可能会也可能不会添加BusinessUnitsUser 关联,但我肯定还会添加一个新的BusinessUnit - 存在于new_user 表单。
目前,User 保存的是 $this->User->saveAll($this->request->data),但不是新的 BusinessUnit,当然也不是新的 BusinessUnitsUser 条目(我希望它包含新的用户 ID 和新的业务部门 ID。
【问题讨论】:
-
是什么让您认为给定的格式不正确(事实并非如此,因为我正确理解了您的设置)?真正的问题是什么?
-
@ndm - 将此数据保存在 $this->User->saveAll($this->request->data);产生一个新保存的用户,但没有新的 BusinessUnit 模型条目,也没有新的 BusinessUnitsUser 条目(将生成新的 user_id 和新的 business_unit_id)
-
好的,我明白了,请将其添加到您的问题中。
标签: php cakephp has-and-belongs-to-many