Belajar Doctrine Query Language (DQL) part 2


tes
Query with your passion!

Pada pembahasan sebelumnya, kita telah puas menggunakan berbagai model Query select pada Doctrine. Walaupun tidak semua nya terbahaskan, tapi itu sudah cukup menjadi dasar untuk bisa memahami penggunaan Query Doctrine, dan selanjutnya silahkan dikembangkan sendiri.

Nah, kali ini kita akan membahas cara termudah untuk menampilkan data yang telah di Query tersebut. Seperti yang telah kita ketahui bersama, artikel sebelumnya hanya mengajarkan cara membuat Query dan mengambil data dari Database. Sedangkan bagaimana cara menampilkannnya, akan dibahas pada tulisan berikut ini.

Sama hal nya dengan penggunaan PHP untuk mengambil hasil query MySQL, hasil query tersebut dimasukkan dalam variable tertentu. Hanya saja, pada penggunaan Doctrine di symfony, hasil(value) dari query yang kita eksekusi, sudah langsung bisa kita gunakan dalam bentuk variable object-array. Dan seperti biasa pula, untuk menampilkan data kita akan bermain di template dari module, sesuai dengan template action (tampilan) yang diinginkan.

Bagaimana menampilkan Hasil Query?

Silahkan cek tulisan sebelumnya, disana semua hasil Query dimasukkan ke dalam variable $this->data_user. Dengan begitu kita bisa langsung mengakses di template sebagai variable $data_user. Misal Query Doctrine di Action Class nya adalah sebagai berikut,

$this->data_user = Doctrine_Query::create()
	  ->from('User u')
	  ->where('u.name = "sule" ')
	  ->execute();

Maka variable $data_user bisa langsung kita gunakan di template. Jika hasil/result Query lebih dari 1 Record, maka kita perlu gunakan Looping. Cara termudah adalah menggunakan foreach, karena asumsi nya kita tidak tahu isi variable itu seperti apa. Berikut ini contoh menampilkan hasil Query di template indexSuccess.php.

<?php foreach($data_user as $user):?>
  <div>Nama : <?php echo $user->getName(); ?> </div>
<?php endforeach;?>

Cara menampilkan data record hasil Query pun sangat mudah. Cukup panggil nama field yang akan ditampilkan datanya, diawali dengan get... Misal pada contoh di atas kita akan menampilkan data pada field name, maka gunakan method getName(). Hal ini juga berlaku untuk field yang lainnya.

Memang ada beberapa aturan penamaan pada Model Doctrine, perhatikan penggunaan huruf Capital dan penamaan variable (dan method) pada contoh berikut ini,

<?php echo $user->getName(); ?> //untuk field table name
<?php echo $user->getTglLahir(); ?> //untuk field table tgl_lahir

Gimana?? gampang kannn… 🙂

Ketika mengambil data dari table (database), jangan terpaku hanya menampilkan data-data tersebut dalam bentuk table. Yang terpenting adalah pelajari bagaimana data itu diolah dengan Query, bagaimana mengambilnya dan bagaimana menampilkannya. Silahkan berkreasi lebih lanjut lagi.

bersambung

 


Leave a Reply

Your email address will not be published. Required fields are marked *