CACATAN KECIL

Sugik-info.blogspot.com - Blog yang berisi artikel tentang tutorial komputer, pemprograman, aplikasi office dan seputar pengalaman dan kejadian sehari-hari yang sudah Admin temukan solusinya untuk dibagikan kepada para pembaca.

Cegah duplikasi data (Kasus cegah NIP ganda) didalam YII dengan try catch

Cegah duplikasi data (Kasus cegah NIP ganda) didalam YII dengan try catch
Cegah duplikasi data (Kasus cegah NIP ganda) didalam YII dengan try catch

Sugik-info.blogspot.com - Berikut ini catatan kecil tentang cara Cegah duplikasi data (Kasus cegah NIP ganda) didalam YII dengan try catch. Misalkan saja akan mencegah inputan data ganda kita bisa menggunakan langkah-langkah seperti contoh berikut ini:

Langkah 1:
pada file controller Anda

public function actionCreate()
{
$model=new Pegawai;

// Uncomment the following line if AJAX validation is needed
$this->performAjaxValidation($model);

if(isset($_POST['Pegawai']))
{
try { //try jika berhasil
$model->attributes=$_POST['Pegawai'];

if($model->save())
Yii::app()->user->setFlash('success', 'Data berhasil di simpan');
$this->redirect(array('view','id'=>$model->id));
}
catch(CDbException $e) //catch jika gagal
{
Yii::app()->user->setFlash('error', '<strong>Gagal!</strong> NIP sudah ada didalam sistem');
$this->redirect(array('duplikasi'));
}

}

$this->render('create',array(
'model'=>$model,
));
}

Langkah 2:
Membuat function
public function actionDuplikasi()
{
$this->render('duplikasi');
}
Langkah 3:
Pada Accesrule tambahkan nama fungsinya

public function accessRules()
{
return array(
array('allow',  // allow all users to perform 'index' and 'view' actions
'actions'=>array('index','view','duplikasi'), //duplikasi adalah metode untuk mecegah data kembar
'users'=>array('@'),
),
}

Langkah 4:
Membuat View
<?php
$this->breadcrumbs=array(
//'Error'=>array('index'),
'Kesalahan'
);


<?php
  foreach(Yii::app()->user->getFlashes() as $key =>$message)
  {
    echo '<div class="flash-'.$key.'">'.$message.'</div>';
echo CHtml::Button('Kembali',array('onClick'=>'window.history.back(-3)'));
  }
 ?>


Semoga bermanfaat

1 Response to "Cegah duplikasi data (Kasus cegah NIP ganda) didalam YII dengan try catch"