I18Nカテゴリテーブルが必要です。私はjobeetの例に従いました。
以下のスキーマとフィクスチャのデータ。
./symfony doctrine:build --db --all-classes --and-migrate
./symfony doctrine:data-load data/fixtures/category.yml
これらのコマンドを実行すると、データベースにデータが挿入されず、エラーが表示された赤いボックスが表示されます。SQLSTATE[23000]:整合性制約違反:1062キー「PRIMARY」の重複エントリ「1-et」
データロードタスク(「mysqld--log = logfile」でログに記録される)で実行されるクエリ:
1 Query DELETE FROM my_category
2 Query START TRANSACTION
3 Query SELECT k.id AS k__id, k.position AS k__position FROM my_category k ORDER BY k.position desc LIMIT 1
4 Query INSERT INTO my_category (gender, position, created_at, updated_at) VALUES ('female', '1', '2011-01-14 12:33:05', '2011-01-14 12:33:05')
5 Query SELECT k.id AS k__id, k.lang AS k__lang, k.slug AS k__slug FROM my_category_translation k WHERE (k.slug LIKE 'name-value%' AND k.lang = 'et' AND k.name = 'Name value')
6 Query INSERT INTO my_category_translation (id, lang, name, seeking_label, seeking, slug) VALUES ('1', 'et', 'Name value', 'Label value', 'Value', 'name-value')
7 Query SELECT k.id AS k__id, k.lang AS k__lang, k.slug AS k__slug FROM my_category_translation k WHERE (k.slug LIKE '%' AND k.lang = 'et_EE' AND k.name IS NULL)
8 Query INSERT INTO my_category_translation (id, lang, slug) VALUES ('1', 'et_EE', '')
9 Query rollback
10 Quit
新しく構築したデータベースでこれらのコマンドを手動で実行した場合。上記の3から6までのクエリは正常に実行され、データが挿入されます。クエリ番号 7はデータを出力せず、nrを照会しません。8は失敗したものです。(ID 1がすでに存在するため、手順6で挿入します)。
問題はクエリ番号にあるはずです。7. "k.lang ='et_EE'"私はそれが'et'であるべきだとかなり確信していますか?なぜnrをクエリするのか。7は必要ですクエリnrとまったく同じようです。5しかし、値がない、および/または台無しになっていますか?
何を着たのですか、それともバグですか?
schema.yml
myCategory: として作用します: タイムスタンプ可能:〜 並べ替え可能:〜 I18n: フィールド:[名前、seeking_label、seeking] として作用します: だらしない: フィールド:[名前] uniqueBy:[lang、name] ビルダー:[mySluggableTranslit、urlize] 列: 名前:{タイプ:string(255)、notnull:true} 性別:{タイプ:string(6)} seek_label:{タイプ:文字列(255)} シーク:{タイプ:文字列(255)}
data / Fixtures / category.yml
myCategory: カテゴリ1: 性別女性 位置:「1」 翻訳: et: 名前:'名前の値' seek_label:'ラベル値' シーク:'値'