propelorm (propel 1.6) プラグインと symfony 1.4.20 を使用しています。
私はI18n対応のブックテーブルを持っており、この本もI18n対応のギャラリーテーブルと関係があります。すべてのブック フォーム フィールドに入力し、2 つのギャラリー画像を追加し、すべての画像フィールドに入力しました。保存をクリックします - すべて問題ないようです: 本のフィールドは問題ありません。最初と 2 番目の画像はアップロードされていますが、最初の画像のみが i18n フィールドに入力されており、2 番目の画像はすべての i18n フィールドが空です。問題は何ですか?
(再宣言された doSave()、save()、bind() およびその他のフォーム メソッドはありません)
スキーマ:
book:
id: ~
title: { type: varchar(255), required: true }
author: { type: varchar(255), required: true }
description: { type: longvarchar, required: true }
sortable_rank: { type: integer, required: true }
is_active: { type: boolean, default: 1 }
_indexes:
active_sort: [ is_active, sortable_rank ]
_propel_behaviors:
sortable:
rank_column: sortable_rank
i18n:
i18n_columns: [title, description, author]
locale_column: culture
locale_alias: culture
default_locale: en
book_gallery:
id: ~
book_id: { type: integer, foreignTable: book, foreignReference: id, required: true, onDelete: cascade }
title: { type: varchar(255), required: true }
image: { type: varchar(255), required: true }
_propel_behaviors:
i18n:
i18n_columns: [title]
locale_column: culture
locale_alias: culture
default_locale: en
本の形式:
$languages = LanguageQuery::create()->getAllAsArray(); // returns like array('en' => 'english', ...);
$this->embedI18n(array_keys($languages));
$this->widgetSchema->setLabels($languages);
$this->embedRelation('BookGallery', array(
'title' => 'Application book store list',
'item_pattern' => 'Application book store %index%',
));
ブック ギャラリー フォーム:
$languages = LanguageQuery::create()->getAllAsArray(); // same as in book form
$this->embedI18n(array_keys($languages));
$this->widgetSchema->setLabels($languages);