gpt4 book ai didi

php - Symfony Doctrine i18n 行为数据加载失败 : Integrity constraint violation

转载 作者:行者123 更新时间:2023-11-29 05:43:25 26 4
gpt4 key购买 nike

我想要 I18N 类别表。我关注了jobeet example .

下面的架构和固定数据。

./symfony doctrine:build --db --all-classes --and-migrate
./symfony doctrine:data-load data/fixtures/category.yml

当我运行这些命令时,没有数据被插入到数据库中,并显示失败的红框:SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '1-et' for key 'PRIMARY'

在数据加载任务上执行的查询(使用“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步插入)。

问题一定在查询 nr 中。 7. "k.lang = 'et_EE'"我很确定它应该是 'et'?为什么查询nr。 7 is neccessary 似乎与查询 nr 完全一样。 5 但没有和/或搞乱了值(value)观?

我遇到了什么问题还是错误?

架构.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) }

数据/fixtures/category.yml

myCategory:  category-1:    gender: female    position: '1'    Translation:      et:        name: 'Name value'        seeking_label: 'Label value'        seeking: 'Value'

最佳答案

默认情况下,i18n 表中 culture 字段的长度为 2。如果要使用长文化代码,则必须将其更改为 5。否则,“et_EE”将被截断为“et”。

I18n:
fields: [name, seeking_label, seeking]
length: 5

参见:http://www.doctrine-project.org/documentation/manual/1_0/en/behaviors#core-behaviors:i18n

关于php - Symfony Doctrine i18n 行为数据加载失败 : Integrity constraint violation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4690681/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com