[solve] CGridView need help

agan2 saya mau nanya ne…

saya kan punya table

BSC : id,name,type

BSC_TYPE : id,name

foreing key bsc(type) references bsc_type(id)

nah kalau di tampilan di bsc kan TYPE nya berupa ID dari table BSC_TYPE

kalau saya mau ubah TYPE nya jadi NAME dari table BSC_TYPE gmn y???





$connection=Yii::app()->db;

	$sql= "select id,name from tbl_bsc_type where deleted is null or deleted <> 1";

	$dataReader=$connection->createCommand($sql);

	$row = $dataReader->queryALL();

	$count = count($row);

	$x = 0;

	$dodo ="";

	while($x < $count)

	{

	$dodo[$row[$x]['id']] = $row[$x]['name'];//mengambil semua data dari tbl_bsc_type

	$x++;

	}

	print_r($dodo);

	$session=new CHttpSession;

			$session->open();

			

	$columns[]=array(

		'name'=>'name',

		'value'=>'$data->name',

		);

	$columns[]=array(

		'name'=>'desc',

		'value'=>'$data->desc',

		);

	$columns[]=array(

		'name'=>'type',

		'value'=>'$data->type',//ini ga boleh di ganti jadi $dodo[$data->type] y?<img src='http://www.yiiframework.com/forum/public/style_emoticons/default/huh.gif' class='bbc_emoticon' alt='???' />

		);

	$columns[]=array(

		'name'=>'ip_address',

		'value'=>'$data->ip_address',

		);

	$columns[]=array(

		'name'=>'port',

		'value'=>'$data->port',

		);

	if($session['id'] != "")

	{

		if(Yii::app()->user->isAdmin())

		{

			$columns[]=array(

				'header'=>'Action',

		       'class'=>'CButtonColumn',

			);

		}

		else

		{

		$columns[]=array(

			'header'=>'Action',

		     'class'=>'CButtonColumn',

			'template'=>'{view}',

			'buttons'=>array

			(

			'view'=>array(

				'label'=>'view',

				'url'=>'Yii::app()->createUrl("Bsc/view", array("id"=>$data->id))',

					),


				),	

			);

		}

	}


	$this->widget('zii.widgets.grid.CGridView', array(

	'id'=>'bsc-grid',

	'dataProvider'=>$model->search(),

	'filter'=>$model,

	//'cssFile'=>false,

	'columns'=>$columns,

));




Mohon bantuanya ya para master2 YII…:):slight_smile::)

Mungkin di sql-nya gan…




$sql = "SELECT a.id,a.name,b.name as type FROM bsc a, bsc_type b WHERE a.type=b.id ";



yang di maksud itu bukan gan… he…he…

bukan gan…tp tq da di respon ni…hehehe

da ktm caranya saya tambahain di relations yang di MODELnya…

kalo diliat dari cara manggil datanya yang pake $data->port, ne agan select datanya pake CDBcriteria n data providernya CActiveDataProvider yuaa? supaya lebih gampang pake query ajj gan, kayak yang dibilang ahmadroni, itu select datanya pake query n data providernya pake CSqlDataProvider, ne referensinyah

@Mr D

saya kok masih belum paham, yang mau dicari itu seperti apa ya ?

bisa di perjelas lagi ngak ? ;D

bsc

====

id

name

type

bsctype

=====

id

name

saya kan ada table [BSC]yang isinya -type yang mengaraha ke [BSCTYPE]

nah pas di table BSC kan yang ke simpen itu ID dr BSCTYPE

yang mau saya tampilkan itu name nya bukan id nya…

da ketemu si caranya nambahain relation di modelnya…

ubah nama post gmn si…ga gerti caranya

kalo masnya tetep pengen pake CDBcriteria, bisa kok di modelnya(pake active records)ditambahin relation kayak bgini:

ini di bsc model




public function relations()

	{

		// NOTE: you may need to adjust the relation name and the related

		// class name for the relations automatically generated below.

		return array(

			'type'=>array(self::BELONGS_TO, 'bsctype', 'type'),

		);

	}



nah kalo ini udah dibikin ntr di cgridviewnya bisa ditulis kayak bgini




 $columns[]=array(

                'name'=>'type',

                'value'=>'$data->type->name',//ini ga boleh di ganti jadi $dodo[$data->type] y?<img src='http://www.yiiframework.com/forum/public/style_emoticons/default/huh.gif' class='bbc_emoticon' alt='???' />

                );




semoga membantu dehh :),

further readingnya ini

y gan…saya udah gituin kok…kan da saya bilang di atas :lol: