CakePHP 3 имеет много обновлений странного поведения

У меня есть JobsTable:

Это определение отношения:

$this->hasMany( 'JobContracts', [ 
  'foreignKey' => 'job_id' 
] );

Код сохранения:

$entity = $this->patchEntity( $entity, $toSave, [
        'fieldList' => ['notes],
        'associated' => [ 
            'JobContracts' => ['fieldList' => ['id', 'checked']]
        ] 
    ] );

И сейчас:
если я помещаю эти заметки в fieldList, то JobContracts НЕ сохраняются должным образом.
Если я удалю fieldList, то смогу правильно его сохранить.

Вопрос почему? Мне нужно также контролировать поля базовой модели. Какие-либо предложения?

Я уже проверил: http://book.cakephp.org/3.0/en/orm/saving-data.html

1 ответ

Вы также должны разрешить присваивать свойство ассоциации, а не только notes, Если вы этого не сделаете, то связанные данные никогда не будут установлены в результирующем объекте и, следовательно, не будут сохранены.

Проверьте документы, которые вы связали снова, пример тегов показывает именно это:

// Only allow changing the title and tags
// and the tag name is the only column that can be set
$entity = $this->patchEntity($entity, $data, [
    'fieldList' => ['title', 'tags'],
    'associated' => ['Tags' => ['fieldList' => ['name']]]
]);
$this->save($entity);

http://book.cakephp.org/3.0/en/orm/saving-data.html

Итак, добавьте job_contracts к списку полей, и вы должны быть хорошими.

Другие вопросы по тегам