我尝试以一种保持用户友好的方式管理完整性约束。 用户尝试删除某些内容 - 出错时我想留在页面上并只设置错误消息
我试过这种代码:
try {
$this->findModel($id)->delete();
Yii::app()->user->setFlash('success', Yii::t('app','flash.delete.success'));
}catch(\Exception $e) {
Yii::$app->session->setFlash('error', Yii::t('app', 'error.delete'));
}
$this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('index'));
但是如果出现错误,它会重定向而不显示消息,如果我转到另一个页面则显示消息(太晚了)
看不出他为什么这样做! 一些帮助会很好:)
答案 0 :(得分:0)
可能的问题:
return $this->redirect(['view', 'id' => $id]);
$transaction->rollBack();
Yii::$app->db->close();