Query Berdasar level User

hallo… para master yii :) , sebelumnya pertanyaan ini sudah pernah di posting di topik sebelumnya hanya saja sedikit berbeda, semoga saja bisa bermanfaat juga buat yg lain.

saya punya tabel seperti ini

======================================================

id | username | password | email | level |

======================================================

1 | masadmin | masadmin | masadmin@gmail.com | 1 |

======================================================

2 | masuser1 | usersatu | masadmin@gmail.com | 2 |

======================================================

3 | masuser2 | userduaa | masadmin@gmail.com | 3 |

======================================================

bagaimana caranya dari tabel di atas untuk field "level" di daftarkan di session?

saya mencoba pakai koding ini


'!$user->isGuest && $user->level==1'

contoh penggunaan dalam acces role seperti ini


return array(

        array('allow',

                'actions'=>array('view','update'),

                'expression'=>'!$user->isGuest && $user->level==3',

        ),

        array('allow',

                'actions'=>array('update','view','create'),

                'expression'=>'!$user->isGuest && $user->level==2',

        ),

        array('allow', 

                'actions'=>array('delete','admin'),

                'expression'=>'!$user->isGuest && $user->level==1',

       )

);

}

Tapi kenapa tidak berhasil ya…?? (mohon bantuannya :rolleyes: )

Maksud pertanyaannya kurang jelas. Kalau contoh penggunaan session seperti ini:


  

$session=new CHttpSession;   

$session->open();   

$value1=$session['name1'];  // get session variable 'name1'   

$value2=$session['name2'];  // get session variable 'name2'   

foreach($session as $name=>$value) // traverse all session variables

$session['name3']=$value3;  // set session variable 'name3'

Kalau untuk keperluan hak akses user, lebih enak pakai ekstension RBAC Management yang banyak pilihannya. Salah satunya rbac-manager

Semoga membantu.

perasaan sama2 aja deh sama pertanyaan sebelumnya ~_____~

Sebenernya field "name1" dan "name2" itu ngambil dr tabel mana ya, ko ga ada koneksi tabelnya…? masih bingung nih…

Apa semua tabel sudah terdaftar sebagai session?

Itu cuma contoh penggunaan session aja kok, detilnya bisa dibaca disini.

Misal mau memasukkan record dari tabel tinggal di assign seperti ini :




$session['nama']=$model->nama;

$session['alamat']=$model->alamat;

dst.



Apa semua tabel sudah terdaftar sebagai session?

Setau saya ya. Kita bisa melihatnya dengan men-display variabel $model misalnya di view:




print_r($model);



atau




var_dump($model);



ok ok… Sebelumnya terimasih sudah di respon…

Tapi bagaimana jika beberapa tabel memiliki nama field yang sama misalkan Field Id dan field Nama…? Misalkan di tbl_user dan tbl_profil memiliki nama field "Id" dan "Nama". Jika saya mau mendaftarkan Id dan Nama dari tbl_user sebagai session, apakah bisa sy tuliskan seperti ini


$session['id']=$model->id;

$session['nama']=$model->nama;

darimana kita tau itu dari tabel_user bukan dari tbl_profil…? :unsure:

(mohon penjelasannya)

Ya dari nama variabelnya om. Mungkin untuk mempermudah pemahaman bisa lihat contoh berikut (Saya juga masih belajar sebetulnya, mohon koreksi temen-temen bila kurang tepat):




$session=new CHttpSession;   

$session->open(); 


$modelUser = new User;

$session['id1']=$modelUser->id;

$session['nama1']=$modelUser->nama;


$modelProfil = new Profil;

$session['id2']=$modelProfil->id;

$session['nama2']=$modelProfil->nama;



yaya… I see I see

Thanks gan informasinya

sudah membantu dari awal sampe akhir… :)