Yii CGridView

Jika saya ingin memanfaatkan CGridView, apakah saya harus meMODEL kan semua table dan view??

tidak ada cara penggunaan join pada Controller secara direct ke table??

Saya rasa iya, apalagi kalo nanti model yg dijoin dibuatkan field searchnya.

untuk model(kya file dump) kyanya wajib, kecuali contoller.

utk contoh2x penggunaan join bisa nyontek disini

http://www.yiiframework.com/forum/index.php?/topic/9083-solved-search-filter-of-a-relations-field-through-cgridview/page__hl__cgriedview%20search__fromsearch__1

:)

Bagaimana kalo saya memakai CDbCriteria di controller

$Criteria = new CDbCriteria;

$Criteria->join = ‘LEFT JOIN test_section ON test_section.test_id = tests.id’;

Berarti saya tidak usah memodelkan "test_section" ??

Dalam hal ini model memang tidak dibutuhkan. krn merupakan query langsung.

lain halnya nanti ketika nanti dibutuhkan dalam fitur search yg kemungkinan membutuhkan rules2x yg terdpt d model.

apakah sewaktu2x anda tidak membutuhkan direct query seperti ini ketimbang new instance ?




$test_section = test_section::model()->findAll(array('condition'=>'test_id = '.Yii::app()->user->id.''));



class test_section adalah model turunan dari extends CActiveRecord filenya dibuat saat crud model

fyi, crud model cuma 1 file doank.

@fastcrash :

Iya bener gan… waktu gw cobadirect query ga bisa langsung terpakai di CGridview nya Yii…

ga tau kalo kudu ngutak atik AR nya ::)

terima kasih sharingnya gan …

wah kaskuser yah gan :D (sorry OOT)

Ngga juga bro …

terus gw ada masalah baru waktu tipe relasi diubah ke HAS_MANY




...

public function relations()

{

return array(

	'AkeB' => array(self::HAS_MANY, 'tableB', 'A_ID','index'=>'B_id'),

);

}

...



waktu gw view "$data->AkeB->B_atribut"

di CGridView g muncul… Kenapa ya??

gan… emang AR is big mistery for db programmer yang sudah nyaman banget dengan sql, tapi AR punya temen yang muantep si Gridview dan CRUD…

setahu ane gan waktu nyoba MANY_MANY, pada beberapa point ini mirip HAS_MANY, emang sulit menampilkan data ke gridview… dan tebakaan ane gini gan…

 A        

1 | bebek

2 | kodok

      B

{A_id}

1 | 2 | a

1 | 3 | b

2 | 1 | c

trus kalo di join A dan B dengan has Many si AR otomatis menggroup data kita yang di A jadi yang muncul [mohon petunjukan agan-agan kalo salah nih ],

AjoinB


1 | bebek | AR_B(1)

2 | kodok | AR_B(2)

mungkin AR, Object baru lagi, atau mungkin juga array.

jadi kalo mau menampilkannya ane tidak tahu, cuma watu di var_dump trus ane atu-atu

foreach-kan, pada nongol kok,

masalahnya GridView tidak terlalu ramah, jadi ane agak blank soal menampilkannya…

Betul, ane juga ngalimin kya gini, pass di dump ternyata datanya ada.

klo resultnya berupa array berarti harus diolah dengan loop lagi,




// tdk perlu koneksi ke db lagi, langsung di loop.

foreach($model->AkeB as $item)

{

	echo $item->B_id;

}



Pertanyyaanya bgmn meload data array di cgridview?

salah satunya bisa dibuat fungsi tersendiri untuk loop-nya kemudian di panggil di value cgridview.

hati2x thdap eval

contohnya bisa liat disini.

yah. kira2x begitu