2010-08-03 50 views
0

我在表上添加了一个索引,只是为了确保一组字段一起形成复合唯一键(此方法是否正确?或者有更好的选项与教条?)HowTo:在唯一索引在对象保存时失败时显示自定义错误消息

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

我的功课

  1. 检查从MySQL &手柄它的到来异常代码。但是,如果有多个这样的限制,我们将无法敲定确切的一个

  2. 添加postValidator上的架构,并写出逻辑在那里

是否有第三种/更好的方法?

感谢

回答

0

正如前面所提出的,并通过Zolex证实,最好的办法是写一个后验证!

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; 
} 

或者你可以使用学说的构建的验证...

相关问题