我想擁有I18N類別表。我跟着jobeet example。Symfony doctrine i18n行爲數據加載失敗:違反完整性約束
下面的模式和燈具數據。
./symfony doctrine:build --db --all-classes --and-migrate
./symfony doctrine:data-load data/fixtures/category.yml
當運行這些命令沒有數據被插入到數據庫和紅色框失敗顯示:SQLSTATE [23000]:完整性約束違規:1062重複條目「1-ET」爲鍵「主要」該得到的數據加載任務執行
查詢(記錄與「mysqld的--log =日誌文件」):
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)。
該問題必須在查詢nr。 7.「k.lang ='et_EE'」我很確定它應該是'et'? 爲什麼要查詢nr。 7是必要的,看起來完全像查詢nr。 5但沒有和/或搞砸值?
我得到的是worng還是bug?
的schema.yml
myCategory: actAs: Timestampable: ~ Sortable: ~ I18n: fields: [name, seeking_label, seeking] actAs: Sluggable: fields: [name] uniqueBy: [lang, name] builder: [mySluggableTranslit, urlize] columns: name: { type: string(255), notnull: true } gender: { type: string(6) } seeking_label: { type: string(255) } seeking: { type: string(255) }
數據/裝置/ category.yml
myCategory: category-1: gender: female position: '1' Translation: et: name: 'Name value' seeking_label: 'Label value' seeking: 'Value'