我必须在我的模型中进行一些验证,然后在出现问题时中止。在简化版本中,它看起来像这样:
class Model extends RedBean_SimpleModel
{
public function update()
{
if(method_exists($this, 'validate') and ! $this->validate())
$this->abort(); // made-up method
}
}
问题是这种abort
方法(或类似方法)似乎不存在。文档建议用例外来做,但我希望这个过程更加透明。我无法在模型代码中捕获异常(为了避免重复,因为我已经知道如何处理错误)。
我在这里找到的一个解决方案是打开一个事务,然后回滚错误。但我真的不想要这种开销。有什么想法吗?