Yii CGridView Extended zii
#1
Posted 23 August 2010 - 03:47 AM
tidak ada cara penggunaan join pada Controller secara direct ke table??
#2
Posted 23 August 2010 - 04:49 AM
Quote
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.yiiframew...__fromsearch__1

#3
Posted 24 August 2010 - 03:55 AM
$Criteria = new CDbCriteria;
$Criteria->join = 'LEFT JOIN test_section ON test_section.test_id = tests.id';
Berarti saya tidak usah memodelkan "test_section" ??
#4
Posted 24 August 2010 - 04:53 AM
Quote
$Criteria->join = 'LEFT JOIN test_section ON test_section.test_id = tests.id';
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.

#5
Posted 25 August 2010 - 02:06 AM
fastcrash, on 24 August 2010 - 04:53 AM, said:
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 ..
#6
Posted 25 August 2010 - 07:48 AM
ariefpriyadi, on 25 August 2010 - 02:06 AM, said:
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

Yii Playground : Collaborative demo apps. You can join to improve it too!
My Team's Blog: In Indonesian.
#7
Posted 03 September 2010 - 03:59 AM
junxiong, on 25 August 2010 - 07:48 AM, said:

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??
#8
Posted 05 September 2010 - 10:25 PM
ariefpriyadi, on 03 September 2010 - 03:59 AM, said:
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...
Tidak ada coding yang salah
Yang ada hanyalah Coding yang lebih baik
#9
Posted 05 September 2010 - 11:20 PM
aqge, on 05 September 2010 - 10:25 PM, said:
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
