doctrine-orm - 如何在 Doctrine2 中手动设置主键

标签 doctrine-orm symfony

我正在使用 Doctrine2 ORM 将数据导入到一个新的 Symfony2 项目中。

所有新记录都应该有一个自动生成的主键。但是,对于我的导入,我想保留现有的主键。

我使用它作为我的实体配置:

  type: entity
  id:
    id:
      type: integer
      generator: { strategy: AUTO }

我还为实体类中的 id 字段创建了一个 setter。

但是,当我坚持并将这个实体刷新到数据库时,我手动设置的键不会被保留。

什么是最好的解决方法或解决方案?

最佳答案

您可能已经考虑过这一点,但我的方法是将导入的生成器策略设置为“无”,以便您可以在客户端代码中手动导入现有 ID。然后一旦导入完成,将生成器策略改回“自动”,让 RDBMS 从那里接管。条件可以确定是否调用了 id setter。祝你好运 - 让我们知道你最终决定使用什么。

关于doctrine-orm - 如何在 Doctrine2 中手动设置主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8042696/

相关文章:

php - Symfony 2 Doctrine ODM 引用

php - Doctrine ODM/MongoDB : in AND in queries

php - 没有教义的 Symfony2 身份验证(登录)?

php - Symfony:组织多客户端应用程序的业务逻辑

php - 为什么实体 getter 返回 null 而不是 0?

php - Doctrine2,Symfony2。甲骨文错误 :Class has no field or association named user_id

php - Symfony 2 Guard 组件和一个普通的登录表单

symfony - 在symfony 2.7中找不到'templating.helper.router'服务

jquery - 如何在子模板中的 JavaScript 标签之前从布局模板加载带有 Assetic 的 jQuery?

php - Doctrine2/PostgreSQL - 具有可空关系的选择错误