belajar AR 1

hai teman yii… apa kabar… kembali lagi bersama catatan saya…

sekarang saya ingin mencoba membuat catatan dari proses belajar saya tentang Implementasi AR dari satu table sebuah database… tanpa babibu… langsung aja teman :ngacir:

step 1 : terserah teman2 mau ngapain… mau nyiapin kopi dl or teh manis ataupun minuman ringan… tapi yang jelas pada tahap pertama ini agan harus menyiapkan hasil extrakan yii klo disini saya beri nama folder "serius"

nah sedikit catatan nih dalam penggunaan directory tutorial ini :

  1. root codingan web yii saya (*rootCode) : /opt/lampp/htdocs/serius/protected/

  2. folder model (*rootCode/model)

  3. folder control (*rootCode/controller)

  4. folder views (*rootCode/views)

OK klo dah siap semua kita berlanjut ke tahap selanjutnya :

step 2 : koneksi database

  • yang jelas pertama kali harus ada database dan tabelnya dulu , klo males copaste aja nih codenya:

CREATE DATABASE test;

USE test;


CREATE TABLE IF NOT EXISTS `user` (

  `id` int(5) NOT NULL AUTO_INCREMENT,

  `username` varchar(256) NOT NULL,

  `password` varchar(256) NOT NULL,

  PRIMARY KEY (`id`),

  UNIQUE KEY `username` (`username`)

) ENGINE=MyISAM ;


--

-- Dumping data for table `user`

--


INSERT INTO `user` (`id`, `username`, `password`) VALUES

(1, 'rianday', 'admin'),

(2, 'luw', 'apaajabolee');




*selanjutnya setting koneksi , nah klo disini saya menggunakan mysql : settingnya ada di (*rootCode/config/main.php)

nih contohnya :


/*		'db'=>array(

			'connectionString' => 'sqlite:'.dirname(__FILE__).'/../data/testdrive.db',

		),

*/		// uncomment the following to use a MySQL database

		'db'=>array(

			'connectionString' => 'mysql:host=127.0.0.1;dbname=test',

			'emulatePrepare' => true,

			'username' => 'root',

			'password' => '',

			'charset' => 'utf8',

		),



nah yang dijadiin komentar itu settingan untuk database sqlite… (karena kita kan gunaiin mysql).

step 3 : masuk ke Gii buat bikin model

masuk ke http://localhost/serius/index.php?r=gii

tapi sebelumnya harus udah di setting dulu gii-nya


	'modules'=>array(

		// uncomment the following to enable the Gii tool

		'gii'=>array(

			'class'=>'system.gii.GiiModule',

			'password'=>'inipassword',

		),

	),



nah klo dah gitu login dah sebagai admin di gii :

  • bikin model dari tabel user (disini digenerate dengan nama User.php)

  • bikin CRUD-nya (semuanya aja di bikin)

nah selesai dah sampe sini tinggal di click try it now atau ke alamat http://localhost/serius/index.php?r=user

cobain dah tuh…

step 4 : analisa AR yang terbentuk dari model yang di generate :

klo disini dicoba menjelaskan yang (*rootCode/views/user/_view.php)

nah buka halaman itu di text editor like notepad / gedit.

dilihat dah tuh ada proses pemanggilan


	<?php echo CHtml::encode($data->username); //contoh : 'username' disini adalah nama field dari table yang kita select (yaitu table : user) ?> 



nah trus buka file index.php (*rootCode/views/user/index.php)

dilihat deng… disitu ada


<?php $this->widget('zii.widgets.CListView', array(

	'dataProvider'=>$dataProviders, // nah liat ini dah ada variabel yng di lempar ke _view.php 

	'itemView'=>'_view',

)); ?>



nah variable $dataProvider itu diambil dari model User.php yang udah mereturn nilai AR ke index kita liat codingannya

(*rootCode/Controller/UserController.php)


	public function actionIndex()

	{

		$Userss=new CActiveDataProvider('User');

		$this->render('index',array(

			'dataProviders'=>$Userss,

		));



nah CActiveDataProvider(‘User’) itu sama dengan fungsi User::Model()->findAll() klo gak salah… dan hasil itu di taro di variabel $Userss dan kemudian di lempar ke views (*rootCode/views/user/index.php) dengan variabel ‘dataProviders’ diisikan $Userss.

Step 5 : nah klo lebih enaknya (step 4) di baca dari bawah ke atas Bottom Up kata orang betawi mah… tahapannya :

UserController.php -> index.php -> _view.php

kurang lebih seperti itu…

selesai :

*sebenarnya ini blum sampe k AR-nya klo ke AR-nya nyambung k tutorial berikutnya… OK nanti saya bikin catetan lagi dah…

contoh kasusnya adalah tablenya nambah satu yaitu profil (yang nantinya nyambung sama table user dengan hubungan one-to-one)

mantaff gan,knapa ga bikin wikinya aja gan? http://www.yiiframework.com/wiki/ tambahan tags: indonesian aja.

ane bantu vote gan…

betul gan, khusus tag ‘indonesia’ - langsung cepet naik deh gan rankingnya :)

mantap gan.

kalo orang indonesia bikin tutorial pasti detil deh, kalo gak, yg baca bakal bingung… :lol:

Hehehhehe. bener juga ya.

hehehe thanks buat agan semua… ane mencoba untuk membuat catatan proses belajar ane aja gan… selebihnya ane masih newbie menggunakan yii…