我确信这有一个非常简单的解决方案,但解释很复杂,所以请耐心等待。
我有一份注册表格Registration::add()
,它由三部分组成。
Registration
数据,一些字段。HABTM
模型的复选框,Role
,Category
和CategoryChild
User
我的Registration
模型有user_id
,我需要将生成的User.id
保存到该字段中。
我确信我应该能够使用模型关系来执行此操作,因为User
模型可以保存User.registration_id
罚款,但它似乎没有写入{{ 1}}模型。
我是否需要在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)
以外的所有内容
答案 0 :(得分:0)
是的,这样的事情可以按照您的问题运作:
<?php echo $form->input('Registration.user_id',array('type'=>'hidden', 'value' => $user_id)); ?>
希望有所帮助
答案 1 :(得分:0)
您的关系
Registration hasOne User
但是,您同时拥有Registration.user_id
和User.registration_id
,暗示您需要hasAndBelongsToMany关系。
如果你没有使用Cake Baker来生成模型,那么它非常有用。