posting terbaru
From: jimmy@xxxxx.xxx
Subject: Tanya session di cake
Date: 14 Agustus 2007 11:36:45
To: sunu.wibirama@yahoo.co.id
Siang,
Mas Sunu, saya sangat kesulitan mencari referensi tentang cake php yang berbahasa indonesia. Untuk ketemu blog nya mas Sunu yang “berjalan sendirian dengan cake” tanpa ada teman
Mas saya punya pertanyaan tentang Session di Cake :
*) Bagaimana cara mengakses / mencetak isi dari session di cakephp ?
Contoh: kalo menggunakan php biasa, script saya adalah = echo $_SESSION['nama session'];
Bagaimana kalau menggunakan cake ?
Terima kasih sebelumnya,
salam,
Salam kembali, makasih atas apresiasinya mas Jimmy. Session di CakePHP sepertinya tidak jauh berbeda dengan di pemrograman reguler PHP. Mungkin untuk lebih meyakinkan, silahkan cek dulu isi sessionnya (barangkali isinya adalah array), sehingga untuk mengecek, silahkan gunakan :
print_r($_SESSION['nama_session']);
kalau memang benar isinya array, mas Jimmy bisa mengaksesnya sebagaimana mengakses array biasa. Demikian mas, semoga membantu ….
Ada seorang teman yang bertanya (menjawab mas imamiscool di Posting saya yang lalu)
mau tanya:
database ku: :dst
users: user_id, user_name
posts: post_id, post_content
user_post: user_id, post_id
MODEL
UserModel
PostModel
CONTROLLER
User
Post
VIEW
User
Post
—
gimana cara nampilin content2 (post_content) pada halaman User, sedangkan pada Model User table yang digunakan adalah `users`,
I mean: gimana nerapin INNER JOIN di cakePHP-MVC schema?
fungsi itu ditaro dimana? Post, User, ato (ngga mungkin) UserPost [?]
Humm … oke deh mas imam. Saya coba bantu ya. Kalau melihat pertanyaan beliau, relasi antara tabel user dan post ini adalah relasi many to many (n to n), yang artinya, mau tidak mau antara tabel user dan tabel post harus dibuat sebuah metode normalisasi (yap, dan sepertinya mas imam sudah melakukannya dengan membuat tabel user_post).
CakePHP mengenal istilah asosiasi HABTM (has and belong to many), sebuah asosiasi antar model yang disamakan dengan relasi n to n pada database relasional. Untuk membuat relasi ini berjalan dengan baik, relasi HABTM haruslah didefinisikan pada dua model yang bertautan (misalkan : model User dan model Post, sedangkan tabel untuk menggabungkannya adalah posts_users). Maka, kita definisikan saja pada model User :
var $hasAndBelongsToMany =
array(’Post’ =>
array(’className’ => ‘Post’,
‘joinTable’ => ‘posts_users’,
‘foreignKey’ => ‘user_id’,
‘associationForeignKey’=> ‘post_id’,
‘conditions’ => ”,
‘order’ => ”,
‘limit’ => ”,
‘uniq’ => true,
‘finderQuery’ => ”,
‘deleteQuery’ => ”
)
);
dan pada model Post :
var $hasAndBelongsToMany = array(’User’ =>
array(’className’ => ‘User’,
‘joinTable’ => ‘posts_users’,
‘foreignKey’ => ‘post_id’,
‘associationForeignKey’=> ‘user_id’,
‘conditions’ => ”,
‘order’ => ”,
‘limit’ => ”,
‘uniq’ => true,
‘finderQuery’ => ”,
‘deleteQuery’ => ”
)
);
So, kedua model sudah terjalin (dan kalau memang ini yang dimaksud dengan “inner join” – nya, maka CakePHP sudah melakukannya secara otomatis). Untuk menggunakannya, tinggal dikasi perintah aja di controller aja (misal di controller Users) :
$postingan = $this->User->Post->findAll();
yang hasilnya berbentuk array. Untuk melibatkan berbagai macam klausa / condition SQL, silahkan lihat di API nya CakePHP, tentang parameter-parameter (berupa condition, order, limitation, dll) pada fungsi findAll, findById, dan sebagainya.
Dan untuk mengecek hasil yang berupa array tadi, gunakan saja fungsi print_r
print_r($postingan);
Untuk lebih jelasnya, mas imam bisa melihat artikel ini :
1. HABTM association in bakery
2. HABTM tutorial in flipflops.org
Happy coding ….
CakePHP Indonesia adalah sebuah blog tentang framework CakePHP berbahasa Indonesia yang membahas tentang artikel, tutorial, berita dan tips yang terkait dengan CakePHP.
|
menu utama
kategori
- Bakery (1)
- Berita (11)
- Contributors (1)
- Diary (8)
- Eksplorasi (6)
- General Thought (7)
- Konsultasi (2)
- Tips dan Trik (8)
- Tutorial (9)
- Uncategorized (1)
- video (2)
CakePHP Indonesia adalah sebuah blog tentang