Structure Table
Create Procedure MySQL
DELIMITER //
CREATE PROCEDURE insKategori(in nama_kategori varchar(50))
BEGIN
declare nomor int;
declare kode_kategori varchar(3);
set nomor = (select count(*)+1 from kategori);
set kode_kategori = (select right(concat('00',convert(nomor, char(3))),3));
insert into KATEGORI values(kode_kategori, nama_kategori);
END;
//
DELIMITER ;
CategoryController
public function actionCreate()
{
$model=new Kategori;
// Uncomment the following line if AJAX validation is needed
// $this->performAjaxValidation($model);
if(isset($_POST['Kategori']))
{
//$model->attributes=$_POST['Kategori'];
if ($_POST['Kategori']['NAMA_KATEGORI']==null)
{
if($model->save())
$this->redirect(array('view','id'=>$model->KODE_KATEGORI));
}
else
{
$command = Yii::app()->db->createCommand("CALL insKategori(:nama_kategori)");
$command->bindParam(":nama_kategori", $_POST['Kategori']['NAMA_KATEGORI'], PDO::PARAM_STR);
$command->execute();
}
}
$this->render('create',array(
'model'=>$model,
));
}