私は現在、MySQLのインターフェースのためのドクトリンのDBALライブラリを使用していますが、現在、周辺の構造構築しています:Doctrine DBALを使用すると、更新の失敗をどのように判断できますか?
public function update(array $data, $id)
{
return $this->db->update($this->table, $data, array('id' => $id));
}
もちろん、影響を受けた行数を返します。問題は、更新後に特定のアクションを実行することです。現在のシステムでは、レコードを編集(フォームのみを表示)してすぐにsaveを押すと、上記の更新関数の結果をチェックするのでエラーが返されます。これにより、サイトにエラーが表示されるだけでなく、他の「成功した更新」アクションが実行されなくなります。
更新プログラムが影響を受けた行の外側で実行されなかったかどうかを確認する方法はありますか?これを完全に無視して、更新プログラムが常に動作すると仮定することはできますか?トラッピング例外は、致命的なエラーを捕捉するのに十分であるか?