編集:ケーキバージョン2.7
私のアプリには、ユーザーと HABTM 関係を持つウェディングモデルがあります。管理者ユーザーとしてログインしているときに、新しいウェディングを追加できるようにしたいと考えています。そうすることで、2 つの追加ユーザーを生成して保存し、異なる役割でログインできます。
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 関数が呼び出されないようで、ユーザーが空白のパスワードで DB に入力されます。
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->data 配列と関係があると思いますが、まだそこまで行っていません。
どんな助けでも大歓迎です。