编辑:Cake版本2.7
在我的应用程序中,我有一个与用户有HABTM关系的婚礼模型。 当我以管理员用户身份登录时,我希望能够添加一个新的婚礼,并通过这样做生成并保存另外两个用户以登录不同的角色。
public $hasAndBelongsToMany = array(
'User' => array(
'className' => 'User',
'joinTable' => 'weddings_users',
'foreignKey' => 'wedding_id',
'associationForeignKey' => 'user_id',
'unique' => 'keepExisting',
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'finderQuery' => '',
)
);
我的婚礼模型是否会被复制回用户模型。
当我运行基本的创建动作时,我得到了这个:
Array (
[Wedding] => Array
(
[name] => james and sally
[ceremony_date] => Array
(
[month] => 06
[day] => 26
[year] => 2015
[hour] => 02
[min] => 29
[meridian] => pm
)
[venue_id] => 1
)
[User] => Array
(
[User] =>
)
)
然后我可以使用$ this-> Wedding-> User-> create()方法创建其他用户并将它们放入数组中。婚礼保存,用户保存(问题更进一步),但协会不保存。即使使用
$this->Wedding->saveAssociated($saveData)
方法
其他问题 似乎没有调用beforeSave函数,我的用户使用空白密码进入数据库。
public function beforeSave($options = array()) {
if (isset($this->data[$this->alias]['password'])) {
$passwordHasher = new BlowfishPasswordHasher();
$this->data[$this->alias]['password'] = $passwordHasher->hash(
$this->data[$this->alias]['password']
);
}
return true;
}
我认为这与我的$ this->数据阵列有关,但我还没有那么远。
任何帮助都将不胜感激。