Я пытаюсь обновить связанную таблицу User
после выполнения обновления таблицы Student
.
Я не использую patchEntity
, вместо этого я использую isNew()
- это сказать CakePHP, создавать ли или обновлять данные;
Таблица ученика hasOne
Пользователь и dependent
. Таблица пользователя belongsTo
Студент.
Я пытаюсь обновить электронную почту пользователя Студента, создав новую сущность с привязкой первого уровня к Пользователям.
data => [
'student_name' => 'John Doe',
'user' => [
'email' => 'PleaseUpdate@email.com'
]
]
@Student Table
public function beforeRules(Event $event, EntityInterface $entity, ArrayObject $options, $operation)
{
// Create or Patch Entity
$existing = $this->find('all')->where([
'id_number' => $entity->get('id_number'),
'institution_id' => $entity->get('institution_id')
]);
if ($existing->isEmpty()) {
// Performs INSERT
debug("isNew SET True");
$entity->isNew(true);
} else {
// Performs UPDATE
debug($existing->first());
$entity->set('id', $existing->first()->id);
$entity->isNew(false);
}
Обновления записи ученика. Тем не менее, торт вставляет новую запись для пользователя. Я хочу, чтобы Cake обновил существующего пользователя, который уже присоединен к записи, через ассоциации.
Как я могу это сделать?
Спасибо