CakePHP Indonesia : Berita, Artikel, Forum, Tutorial Framework CakePHP Berbahasa Indonesia untuk Pemula dan Tingkat Lanjut


posting terbaru


[tanya-jawab] Session di CakePHP

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 :D

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 ….



[tanya-jawab] HABTM ? Whaz that …

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 is powered by WordPress 2.0 | Using furCake v.2.0 theme developed by Sunu Wibirama