У меня есть люди, принадлежащие многим телефонам. Могу ли я сохранить человека с его телефоном в одном сохранении(), как это?CakePHP 3,0 сбережения принадлежит ToMany без связанных ID
в PeopleTable:
$this->belongsToMany('Phones', [
'foreignKey' => 'person_id',
'targetForeignKey' => 'phone_id',
'joinTable' => 'people_phones'
]);
в add.ctp:
$this->Form->create($person);
$this->Form->input('person_name');
$this->Form->input('phones.0.phone_number');
в PeopleController:
$person = $this->People->patchEntity($person, $this->request->data, ['associated' => ['Phones']]);
$this->People->save($person, ['associated' => ['Phones']])
Но только человек получает спасение, без телефона. Нет сообщения об ошибке. Можно ли даже сохранить это?
У меня есть CakePHP 3.0.2 (обновлено сегодня)
Mabye Я хотел бы добавить, что я новичок, никогда не кодируются в ООП, а теперь я пытал Google в течение двух дней без соответствующего ответа. Просто «да, это должно работать так, у вас должна быть некоторая ошибка» или «нет, вы должны сохранить телефон первым, чтобы получить его идентификатор» было бы достаточно :) Спасибо
Выглядит хорошо для меня ... как выглядит ваш класс класса Person, в частности его свойство '$ _accessible'? Также вы можете добавить отладочный дамп '$ person' (' debug ($ person); ') после исправления и показать результаты? – ndm
@ndm Вы правы! Спасибо огромное! У меня не было «телефонов» в $ _accessible. Я напишу результирующую форму объекта Person в ответе – leeroy