【问题标题】:Save method override and exceptions management保存方法覆盖和异常管理
【发布时间】:2012-09-19 01:52:19
【问题描述】:

目前,我正在开发一个应用程序,它的域模型应该根据某些对象字段的相等与否来防止对象重复。

所以,我正在考虑在类的保存方法上处理这种比较:如果某个现有对象具有与要保存的对象相等的某些属性,则应该阻止保存。

我正在考虑使用异常处理这种情况,该异常将在操作中被抛出和捕获,以便在必要时向用户显示消息。不幸的是,我对异常的了解不是很好,甚至更多:这个解决方案是最合适的吗?

我使用的 ORM 是 Doctrine。

【问题讨论】:

    标签: symfony1 doctrine custom-exceptions


    【解决方案1】:

    为什么不在架构中的多个列上创建唯一索引:这是取自 Doctrine's manual 的示例:

    MultipleIndexTest:
      columns:
        name: string
        code: string
        age: integer
      indexes:
        myindex:
          fields:
            name:
              sorting: ASC
              length: 10
            code: -
          type: unique
    

    【讨论】:

    • 嗨!老实说,我不考虑你提到的方法,但它似乎也有效。我只有一个疑问:我怎样才能给用户设置正确的消息,用你建议的解决方案,没有必要用控制器和视图来处理?
    • Doctrine 会抛出一个异常,你可以使用 try-catch 块来处理。
    猜你喜欢
    • 2018-11-06
    • 2019-07-09
    • 1970-01-01
    • 2017-04-26
    • 1970-01-01
    • 2019-12-28
    • 2012-10-13
    • 1970-01-01
    • 2013-11-24
    相关资源
    最近更新 更多