Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony条令i18n行为数据加载失败:完整性约束冲突_Php_Mysql_Symfony1_Doctrine_Mysql Error 1062 - Fatal编程技术网

Php Symfony条令i18n行为数据加载失败:完整性约束冲突

Php Symfony条令i18n行为数据加载失败:完整性约束冲突,php,mysql,symfony1,doctrine,mysql-error-1062,Php,Mysql,Symfony1,Doctrine,Mysql Error 1062,我想要有I18N分类表。我一直在关注这个问题 架构和设备数据如下 ./symfony doctrine:build --db --all-classes --and-migrate ./symfony doctrine:data-load data/fixtures/category.yml 当我运行这些命令时,不会将任何数据插入数据库,红色框显示失败:SQLSTATE[23000]:完整性约束冲突:1062键“PRIMARY”的重复条目“1-et” 在数据加载任务上执行的查询(使用“mysq

我想要有I18N分类表。我一直在关注这个问题

架构和设备数据如下

./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”记录):

当我在新构建的数据库上手动运行这些命令时。上面3到6的查询运行良好并插入数据。 7号查询不输出数据,8号查询失败。(因为id 1已经存在,请在步骤6中插入)

问题必须在查询7中。“k.lang='et_EE'”我很确定应该是'et'? 为什么第7条查询是必需的,看起来与第5条查询完全一样,但没有和/或混乱的值?

我得到的是虫子还是虫子

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) } 我的类别: actAs: 时间标记:~ 可排序:~ I18n: 字段:[名称、查找标签、查找] actAs: 可插入式: 字段:[名称] 唯一联系人:[郎,姓名] 生成器:[mySluggableTranslit,urlize] 柱: 名称:{type:string(255),notnull:true} 性别:{type:string(6)} 正在查找_标签:{type:string(255)} 正在查找:{type:string(255)} 数据/装置/类别.yml

myCategory: category-1: gender: female position: '1' Translation: et: name: 'Name value' seeking_label: 'Label value' seeking: 'Value' 我的类别: 第1类: 性别:女 位置:“1” 翻译: et: 名称:“名称值” 正在查找标签:“标签值” 追求:“价值”
得到了解决方案:可排序行为与I18n的混合不好

如果你想从3天的调试中解脱出来,那就不要混在一起 可排序的“CSDOCTRINEATASSORTABLEPlugin”行为与I18n行为


我现在就放弃可排序的支持。欢迎对使用I18n的可排序bahavior进行任何推荐

这可能有助于一些新的条令探索者:用于标识I18n类的ID列应设置为自动递增,但决不能设置为唯一,因为此唯一约束将扩展到转换表,因此夹具不会按预期插入

例如:

Gender:
  female:
    Translation:
      en:
        short_name: F
        name: Female
      es:
        short_name: F
        name: Femenino
  male:
    Translation:
      en:
        short_name: M
        name: Male
      es:
        short_name: M
        name: Masculino

如果性别表(类)的和id为autoincrement且唯一,则此夹具插入将失败。因此,不要在自动增量字段中使用unique,将其用作转换表中的键(I18n行为)。

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

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

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