我要他们有I18N分类表。我已经跟踪了jobeet example。
下面是模式和设备数据。
./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不输出数据,查询8失败。(因为ID 1已经存在,插入到步骤6)。
问题一定出在7号查询中。”k.lang='etúEE''我很确定应该是'et'?
为什么查询7看起来和查询5完全一样,但没有和/或混乱的值?
我得到的虫子还是虫子?
模式.yml
我的类别:
行动:
时间戳:~
可排序:~
I18n码:
字段:[名称,查找标签,查找]
行动:
可撞击:
字段:[名称]
唯一的:[lang,name]
生成器:[mysluggabletransit,urlize]
柱:
名称:{type:string(255),notnull:true}
性别:{type:string(6)}
正在查找标签:{type:string(255)}
正在查找:{type:string(255)}
数据/固定装置/类别.yml
我的类别:
1类:
性别:女性
位置:“1”
翻译:
东部时间:
name:'名称值'
正在查找标签:“标签值”
寻找:“价值”
最佳答案
默认情况下,i18n表中区域性字段的长度为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行为数据加载失败:违反完整性约束,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4690681/