У меня есть пара таблиц, которые имеют отношение один к одному.
У меня есть форма жалобы, в которую необходимо вставить форму человека, соответствующая схема ниже:
complaint:
id: ~
created_at: ~
updated_at: ~
complainant_id: { type: integer, foreignTable: person_data, foreignReference: id, onDelete: setnull }
status: { type: tinyint, default: 1 }
complaint_title: { type: varchar(64) }
complaint_number: { type: varchar(16) }
recipient: { type: varchar(128) }
person_data:
id: ~
created_at: ~
updated_at: ~
company_name: { type: varchar(64) }
first_name: { type: varchar(64) }
last_name: { type: varchar(64) }
email: { type: varchar(128) }
Я могу успешно сохранить оба объекта в базе данных, но основной объект жалобы не обновляется с параметром complainant_id строки person_data.
Кто-нибудь знает, почему это не работает правильно и как заставить его корректно обновлять объект жалобы?
Я использую Symfony 1.4.13, Propel 1.6.3.
UPDATE:
Вот код для встроенной формы:
<?php
public function configure()
{
$use_fields = array();
// ...other fields added...
$sub_form = new PersonDataForm(array(), array());
$this->embedForm('complainant', $sub_form);
array_push($use_fields, 'complainant');
$this->useFields($use_fields);
}