我正在使用某种文本构建器,您可以在其中添加块来构建文本。构建块在数据库中定义,当您在文本中添加1时,它将保存在会话中(如何构建它们)。
但是现在当我尝试将会话持久化到数据库时,我得到了一个:
Integrity constraint violation: 1062 Duplicate entry 'text' for key 'UNIQ_AA5F49C77153098'
他想添加构建块的现有定义,但它已经定义。会话本身是序列化的。
所以我要保存的步骤是:
1)反序列化( 我也尝试合并它,但这也不起作用。)
2)坚持到数据库=>错误
答案 0 :(得分:1)
不是直接持久化反序列化的对象,而是: - 反序列化对象 - 从数据库中获取对象 - 使用未序列化的值更新检索到的对象 - 保留检索到的对象
有效吗?
答案 1 :(得分:0)
也许你的模型使用了错误的关联类型。我不记得清楚,但Doctrine为单向多对多或一对一关联添加了单一性约束。
答案 2 :(得分:0)
我遇到了与FOSUserBundle类似的问题:我不知道如何覆盖扩展实体的映射配置(在我的情况下,字段email_canonical,未使用,但是两个空字段也触发了完整性违规)。< / p>
我最终手动删除了数据库中的约束(并使用app / console doctrine:schema:update --dump-sql仅使用SQL命令更新更改 - 除了UNIQUE Constraint)
正如futurecat所指出的那样:你需要你的“文本”字段是唯一的吗?