0

我在表上添加了一个索引,只是为了确保一组字段一起形成一个复合唯一键(这种方法正确吗?或者 Doctrine 有更好的选择吗?)

完成此操作后,当我尝试保存对象并且唯一约束失败时,会生成 SQL 异常。处理这个问题的最佳方法是什么?并显示自定义错误消息?

我的作业

  1. 检查来自 MySQL 的异常代码并处理它。但是,如果有多个这样的限制,我们将无法确定确切的一个

  2. 在架构上添加一个 postValidator,并在其中编写逻辑

有第三种/更好的方法吗?

谢谢

4

2 回答 2

1
try {

    $model->save();

// maybe be more precise to catch only that special exception you described
} catch (Doctrine_Exception $e) { 

   $e->setMessage('my error message');
   throw $e;
}

或者,您可以使用学说的内置验证...

于 2010-08-06T14:25:00.430 回答
0

如前所述,并由 Zolex 确认,最好的方法是编写一个后验证器!

于 2011-02-18T10:06:41.277 回答