Обновление связанной записи CakePHP во время сохранения - PullRequest
0 голосов
/ 23 октября 2019

Я пытаюсь обновить связанную таблицу 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 обновил существующего пользователя, который уже присоединен к записи, через ассоциации.

Как я могу это сделать?

Спасибо

...