tanya Generate kode user

Hi, gan2 yang disini.

ane masih newbie dalam belajar php.

jadi ane mau tanya cara membuat kode generate user di yii framework bagaimana?

misalkan ane punya struktur table user seperti ini :

Field | Tipe Data

UserID Char(5)

Username Varchar(20)

Password Varchar(20)

CategoryUser Char(1)

jadi kalau ane mau tambahkan data user baru, dimana kalau categoryuser dipilih "Admin", maka useridnya dari "A0001,A0002,…dst".

jika ane pilih categoryuser itu "User", maka useridnya dari "U0001,U0002,…dst".

Soalnya ane mau pisahkan saja kode UserID supaya data lebih terstruktur.

script yang di

model–>user.php itu

ane buatkan 1 function untuk menampung value di categoryuser :

public function CategoryUser()

{


	return array(


		'ADMIN'=>'ADMIN',


		'USERS'=>'USERS',


	);


}

views --> user --> _form.php

jadi di _form.php ane panggil function yang dibuat di model–>user.php untuk dropdownlist itu muncul "admin dan user"

<div class="row">

	&lt;?php echo &#036;form-&gt;labelEx(&#036;model,'CategoryUser'); ?&gt;


	&lt;?php echo &#036;form-&gt;dropDownList(&#036;model,'CategoryUser',&#036;model-&gt; CategoryUser(),array( 'prompt'=&gt;'Pilih Dulu.','value'=&gt;'0')); ?&gt;


	&lt;?php echo &#036;form-&gt;error(&#036;model,'CategoryUser'); ?&gt;


&lt;/div&gt;

jadi ane mau buat generate kode UserID itu secara otomatis berurutan berdasarkan categoryuser waktu "Save".

kira-kira syntax untuk generate kode gimana?

Mohon bimbangannya para agan2 yang disini.

Terima kasih sebelumnya.

pake function bawaan yii aja, beforeValidate

untuk penggunaanya bisa semacam ini, tinggal ditambah kondisi untuk membedakan antar User dan Admin, CMIIW




protected function beforeValidate() 

	{

		parent::beforeValidate();

		if($this->isNewRecord)

		{

			$criteria=new CDbCriteria;

			$criteria->select = 'kode'; //mencari satu kode terakhir berdasar id

			$criteria->limit=1;

			$criteria->order='id DESC';

			$last = $this->find($criteria);

			if($last) // jika ada data

			{

				$newID = (int)substr($last->kode,0) + 1; //

				$newID = $newID;

			}

			else // jika data belum ada, maka dimulai dengan 1

			{

				$newID = '1';

			}

			$this->kode=$newID; 

		} 

		return true;

	}