Как раз тогда, когда я думаю, что у меня сломан этот фреймворк ... что-то, что, как кажется, должно быть настолько простым, мешает моей ЖИЗНИ!
Вот что я получил:
PageMeta:
connection: doctrine
actAs: { Timestampable: ~ }
tableName: page_meta
columns:
id:
type: integer(4)
primary: true
autoincrement: true
site_id:
type: integer(4)
notnull: true
meta_type_id:
type: integer(4)
notnull: true
page_name_id:
type: integer(4)
notnull: true
value:
type: string(65535)
default: ''
notnull: true
Реляционные идентификаторы во всех случаях просто id | таблицы имен и не важны. Я наполняю их просто отлично, вот что мне нужно.
Я хочу создать форму со встроенной формой для каждого имени страницы (в настоящее время их 9).
Поэтому я создал пользовательскую форму
class MagicForm extends BaseForm
{
public function configure()
{
CODE TO GET ALL MY NEEDED VARIABLE and MODELS
$forms = new sfForm();
$x = 0;
if(count($pageMetas) < 1)
{
foreach($pages as $page)
{
$pageMeta = new PageMeta();
$pageMeta->PageName = $page;
$pageMeta->setMetaTypeId(1);
$pageMeta->setSiteId($sid);
$pageMetas[] = $pageMeta;
}
}
foreach($pageMetas as $meta)
{
$metaForm = new PageMetaForm($meta);
$metaForm->widgetSchema['value']->setLabel($meta->PageName->getName());
$metaForm->setDefault('value', $meta->getValue());
$metaForm->widgetSchema['page_name_id'] = new sfWidgetFormInputHidden();
$forms->embedForm($x,$metaForm);
$x++;
}
$this->embedForm('TitleTags',$forms);
}
}
это работает просто отлично, я загружаю свою форму и получаю нужные 9 форм с полем Значение, готовым для заполнения.
Здесь моя проблема, я не могу их спасти! Я пытался обработать их путем связывания формы и сохранения, я получаю ошибки crsf_token и другие.
Я пытался просто захватить значения записей и создать новую модель PageMeta и просто сохранить ее.
i.e.
$pageMeta = new PageMeta();
$pageMeta->setXXX($request->getPostParamater(XXX);
etc;
но после первоначального сохранения я получаю дубликаты. И да, я передаю Id, и да, я даже пытался сделать все
$ PageMeta-> setNew (ложь);
Когда это не новое значение, это дает мне ошибку:
Неизвестное свойство записи / связанный компонент "new" на "PageMeta"
однако я могу подтвердить, что PageMeta действительно является объектом PageMeta ....
В любом случае, в конце я хочу иметь несколько (НЕ ДИНАМИЧНЫХ, я точно знаю, сколько мне нужно) одной и той же формы на одной странице, а затем сохранить их все сразу.
Спасибо, что читаете ... сейчас ... GO!