1

モデルでいくつかの検証を行い、何か問題が発生した場合は中止する必要があります。簡略化したバージョンでは、次のようになります。

class Model extends RedBean_SimpleModel
{
    public function update()
    {
        if(method_exists($this, 'validate') and ! $this->validate())
            $this->abort(); // made-up method
    }
}

問題は、このabortメソッド (または類似のメソッド) が存在しないように見えることです。ドキュメントは例外でそれを行うことを提案していますが、プロセスをより透過的にしたかったのです。Model コード内で例外をキャッチできませんでした (エラーの処理方法は既にわかっているため、繰り返しを避けるためです)。

ここで見つけた解決策は、トランザクションを開いてからエラーをロールバックすることでした。しかし、私は本当にこの種のオーバーヘッドを望んでいません。何か考えはありますか?

4

0 に答える 0