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
к списку полей, и вы должны быть хорошими.