1

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);
4

0 に答える 0