我确定有一个非常简单的解决方案,但解释复杂,请耐心等待。从相关模型保存ID保存
我有一个注册表格Registration::add()
它由三部分组成。
- 第一个是
Registration
数据的一些字段。 - 二是从三个相关
HABTM
车型,Role
,Category
和CategoryChild
- 三是在
User
我Registration
模型创建的每个记录有user_id
复选框,我需要保存生成的User.id
成领域。
我敢肯定,我应该能够使用模型关系来做到这一点,因为User
模型保存了User.registration_id
的罚款,但它似乎没有写入Registration
模型。
我是否需要在我的add.ctp
视图中创建另一个字段,以便该字段存在于$this->data->request
阵列中?我宁愿这样做,也不愿意与beforeSave()
和afterSave()
陷入困境。
所以我只需要创建
$this->Form->input('Registration.user_id', array('type'=>'hidden'));
我的关系,仅供参考,
Registration hasOne User
Registration hasAndBelongsToMany Category
Registration hasAndBelongsToMany CategoryChild
Registration hasAndBelongsToMany Role
User hasOne Registration
我目前使用saveAll($this->request->data)
救我的所有数据,它的管理,以节省一切,除了Registration.user_id
你的关系指定'Registration hasOne User',但你同时拥有'Registration.user_id'和'User.registration_id',所以有些东西看起来不正确 – icc97
你是指一对一的关系吗? –
@ icc97你是对的,我一直在这么久,我完全错过了它。这将解释为什么我的身份证没有更新两次!如果你可以把它作为答案,我会标记为已接受。 –