PDA

View Full Version : مدیریت ارورهای پایگاه داده



alirezara
چهارشنبه 15 بهمن 1393, 15:50 عصر
با سلام و خسته نباشید به دوستان عزیزم.


دوستان بنده دو تا جدول در دیتابیسم دارم که توسط کلید خارجی بهم مرتبط شده اند و حالت کلید خارجی برای حذف بر روی RESTRICT قرار داده شده حالا توی فریم ورک yii وقتی می خوام رکورد والد رو حذف کنم بهم ارور میده اما بنده می خوام این ارور را به گونه ای مدیریت کنم به این صورت که وقتی کاربری بخواهد رکورد های این چنینی را حذف کند به کاربر بگم که این چیزی که می خواهی حذف کنی اطلاعاتی بهش وابسته هست و شما تا زمانی که اطلاعات وابسته را حذف نکنید نمی توانید این این آیتم را حذف کنید.و می خوام که این پیغام را با کدهای html | css به صورتی زیبا نمایش دهم. در حال حاضر صفحه ای که به من نشان داده میشه چیزی هست که در عکس ضمیمه مشاهده می کنید. من چطور باید این وضعیت RESTRICT
را مدیریت کنم؟


از همه ی دوستان عزیزم خواهشمندم که بنده را راهنمایی کنید.


از همه ی دوستان کمال تشکر و قدر دانی را دارم.

MMSHFE
جمعه 17 بهمن 1393, 22:08 عصر
شما باید خودتون قبل از حذف چک کنید. برای مثال:

public function actionDelete($id) {
if(!$user = Users::model()->findByPk($id)) {
throw new CHttpException(404, 'User not found.');
}
if(Posts::model()->exists('user_id=:userId',array(':userId'=>$user->id))) {
throw new CHttpException(403, 'You cannot delete a user unless you have deleted all of his/her posts.');
}
$user->delete();
$this->redirect(array('index'));
}