[Yii Framework]Auto Save Attribute

Salah satu hal yang sering terjadi pada saat kita ingin melakukan penyimpanan data ke dalam tabel adalah adanya satu attribut dalam tabel tersebut yang ingin kita simpan secara otomatis. Contoh, pada tabel “berita”, kita ingin menyimpan informasi “pengentri”(orang yang menginput berita) dengan cara aplikasi kita otomatis menyimpan informasi pengentri melalui informasi user yang sedang login di aplikasi kita..

Okeh, tentu saja hal itu bisa di lakukan di Yii Framework..  Pada postingan ini, saya akan lakukan dengan 2 cara yang berbeda. Okeh, mari kita bahas satu persatu:

1. Lewat Controller

Anda bisa melakukannya dengan cara menginsert code nya di dalam controller tepat nya di “function actionCreate()”. Berikut code nya:

	public function actionCreate()
	{
		$model=new NamaModel;
		if(isset($_POST['UserAdmin']))
		{
			$model->attributes=$_POST['NamaModel'];
			$model->pengentri=Yii::app()->user->getId();
			
			if($model->save())
				$this->redirect(array('view','id'=>$model->idModel));
		}
		$this->render('create',array(
			'model'=>$model,
		));
	}

Penjelasan : Disana bisa anda lihat saya menyisipkan satu baris code yang menyimpan attribut pengentry sesuai dengan “id” yang dimiliki oleh user yang sedang login, dengan begitu, user tidak perlu susah-susah menginput nilai “id” nya.

 

2. Lewat Model

Pada “model” ada sebuah fungsi “beforeSave()” dimana semua code yang terdapat di dalam tag “beforeSave()” tersebut akan dijalankan sesaat sebelum aplikasi kita melakukan penyimpanan data pada model tersebut. Dengan itu, anda dapat memanfaatkan “beforeSave()” tersebut untuk melakukan penyimpanan otomatis. Kurang lebih anda dapat menyisipkan code berikut di model anda:

	protected function beforeSave()
	{
		$this->pengentri=Yii::app()->user->getId();
	}

Dengan adanya code tersebut, sebelum program kita melakukan penyimpanan pada model yang kita tuju, ia akan melakukan penyisipan nilai yang informasi user yang login ke dalam attribut “pengentri” .

 

Selesai…. Selamat mencoba…

Semoga membantu😀

2 Responses to [Yii Framework]Auto Save Attribute

  1. Pingback: [Yii Framework] Membuat Forum Sederhana(1) « Sabitlabscode

  2. kanra says:

    gan kalau saya mau pakai function beforesave buat masukin data ke database itu bagaimana yaa kode-nya?
    jadi di model saya sudah ada function hitung untuk menghitung nilai,nah buat masukin ke db dengan function beforesave gimana ya?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: