Untuk membuat aplikasi kita memiliki integritas, maka kita membuat transaction. Biasanya jika ada error langsung roll back.  Karena langsung rollback mungkin kita mengetahui bahwa update yang kita lakukan gagal tetapi yang kita hadapai adalah tanpa tampilan error apapun. Berikut akan dibahas mengenai bagaimana mendebugnya.

Misal coding semula adalah:
            $model=$this->loadModel($id);
            $trx=$model->dbConnection->beginTransaction();
            try
            {
                $model->delete();
                $trx->commit();
                if(!isset($_GET[‘ajax’]))
                $this->redirect(isset($_POST[‘returnUrl’]) ? $_POST[‘returnUrl’] : array(‘admin’));
            }
            catch(Exception $e)
            {
               $trx->rollback();
            }

Coding di atas jika terjadi error karena integritas data maka tidak ada tampilan apapun. Untuk mendebug kita harus menghandle Exception $e nya dengan :
                echo $e->getMessage();

Coding lengkapnya adalah:
            $model=$this->loadModel($id);
            $trx=$model->dbConnection->beginTransaction();
            try
            {
                $model->delete();
                $trx->commit();
                if(!isset($_GET[‘ajax’]))
                $this->redirect(isset($_POST[‘returnUrl’]) ? $_POST[‘returnUrl’] : array(‘admin’));
            }
            catch(Exception $e)
            {
                $e->getMessage();
               $trx->rollback();
            }

Dengan coding tersebut maka error akan muncul di screen. Lakukanlah ini di development jangan di production

Kunjungi www.proweb.co.id untuk menambah wawasan anda.

Debug error di transaction Yii