Имам затруднения с използването на Cakephp 3 patchEntity за запазване на свързани модели. Включените модели са обобщени тук
My UsersTempTable
public function initialize(array $config)
{
$this->table('users_temp');
$this->displayField('name');
$this->primaryKey('id');
$this->addBehavior('Timestamp');
$this->hasOne( 'UsersExtraTemp', [
'foreignKey' => 'user_id'
]);
}
След това моята UsersExtraTempTable
public function initialize(array $config)
{
$this->table('users_extra_temp');
$this->displayField('id');
$this->primaryKey('id');
$this->belongsTo('UsersTemp', [
'foreignKey' => 'user_id',
'joinType' => 'INNER'
]);
}
public function buildRules(RulesChecker $rules)
{
$rules->add($rules->existsIn(['user_id'], 'UsersTemp'));
return $rules;
}
Mi функция за запазване на данните:
$user = $this->newEntity();
$user = $this->patchEntity($user, $this->request->data, [
'associated' => ['UsersTemp.UsersExtraTemp']
]);
$this->save( $user, ['associated' => ['UsersExtraTemp']] );
И моят масив от данни се отпечатва от $this->debug()
(
[name] => name
[lastname] => lastname
[email] => [email protected]
[password] => password
[passwordConfirm] => repeatPassord
[UsersExtraTemp] => Array
(
[google_token] => sjskdasdadk2
)
)
Получавам ред, създаден за user_temp в базата данни, но нищо за този user_extra, който очаквам. Някаква представа какво правя грешно, моля?
$this
във вашия процес на запазване еUsersTempTable
? - person ndm   schedule 28.07.2015