Langsung ke konten utama

Propel Criteria Object

      Untuk menampilkan data dari database ke progam, kita pasti tidak lepas dari query ke database seperti perintah SELECT, INSERT, DELETE, dan lain sebagainya. Secara default, symfony 1.4 menggunakan ORM untuk interaksi dengan database. ORM yang digunakan adalah PROPEL dan DOCTRINE. Dan untuk tulisan saya kali ini dan tulisan saya selanjutnya akan menggunakan PROPEL.

Menampilkan Semua Data

      Untuk menampilkan semua data, biasanya kita menggunakan query SELECT * FROM .....Coba lihat kode berikut.


public function executeIndex(sfWebRequest $request)
  {
    $this->barangs = BarangPeer::doSelect(new Criteria());
  }

di atas merupakan function index yang berada di direktori inventory/apps/frontend/modules/liststok/action/actions.class.php.


$this->barangs = BarangPeer::doSelect(new Criteria());

function doSelect()merupakan function yang digunakan untuk menampilkan data. doSelect() mempunyai parameter object dari Criteria, juka object Criteria kosong, maka doSelect() akan menampilkan semua data dari table di database atau hasilnya sama dengan perintah "SELECT * FROM BARANG". BarangPeer merupakan model object dari tabel yang berada di database. Untuk mempelajari lebih jauh tentang object peer, anda bisa buka di direktory lib/model project symfony anda.

Menggunakan Criteria

      Criteria digunakan untuk membuat query sql dengan berbagai kriteria yang di inginkan seperti where, order by, limit dan lain lain. Untuk menggunakan Criteria anda harus mendefinisikan object dari criteria terlebih dahulu.

$criteria = new Criteria();

$criteria merupakanonject dari Criteria yang digunakan untuk memanipulasi criteria yang di inginkan.


$criteria = new Criteria();
$criteria->add(BarangPeer::STOCK,0,Criteria::EQUAL);
$this->barangs = BarangPeer::doSelect($criteria);

di atas sama dengan perintah "SELECT * FROM BARANG WHERE STOCK=0". Criteria::EQUAL digunakan untuk mencari data yang sama. Ada beberapa Criteria yang disediakan oleh Propel :


Criteria::EQUAL
Criteria::NOT_EQUAL
Criteria::GREATER_THAN, Criteria::GREATER_EQUAL
Criteria::LESS_THAN, Criteria::LESS_EQUAL
Criteria::LIKE, Criteria::NOT_LIKE
Criteria::CUSTOM
Criteria::IN, Criteria::NOT_IN
Criteria::ISNULL, Criteria::ISNOTNULL
Criteria::CURRENT_DATE, Criteria::CURRENT_TIME,
Criteria::CURRENT_TIMESTAMP

sesuai dengan namany, anda pasti sudah bisa menebak untuk apa Criteria tersebut.

      Sementara cukup sekian tulisan saya kali ini. Saya lanjutkan di lain kesempatan. Terima kasih.

references : http://symfony.com/legacy/doc/jobeet/1_3/en/06?orm=Propel

Komentar

Postingan populer dari blog ini

Contoh Perhitungan Algoritma Perceptron

      Melanjutkan tulisan saya sebelumnya tentang algoritma perceptron,kali ini saya akan menulis tentang conto perhitungan manual algoritma perceptron. Untuk contoh kasusnya saya menggunakan data logika AND. Cekidot.... Algoritma      Data yang kita gunakan sebagai contoh adalah data logika AND sebagai berikut: x1 x2 target 0 0 0 0 1 0 1 0 0 1 1 1       tentukan bobot awal secara acak, saya pakai contoh w1 = 0,w2 =0, learning rate = 1, bias = 0,maksimal epoh = 10. Disini saya memakai fungsi aktivasi undak biner. Epoh ke 1 Data ke satu x = {0,0}, bobot w = {0,0},b=0,target = 0 y_in = (x1*w1)+(x2*w2)+b = (0*0)+(0*0)+0 = 0 y = sign(0) = 1 karena y != target maka hitung error dan update bobot  error = target - y = 0 - 1 = -1 w1_baru = w1_lama +(learning_rate*error*x1)                = 0 + (1*(-1)*0) = 0 w2_baru = w2_lama +(learning_rate*error*x2)                = 0+(1*(-1)*0) = 0

Contoh Perhitungan Algoritma Learning Vector Quantization

Melanjutkan tulisan saya tentang algoritma Learning Vector Quantization yang lalu, kali ini saya akan melanjutkan dengan contoh perhitungan manual. Berikut ini contoh data yang akan kita hitung. No X1 X2 X3 X4 target 1 0 1 1 0 0 2 0 0 1 1 1 3 1 1 1 1 0 4 1 0 0 1 1 pada contoh di atas, saya menggunakan 4 data sebagai data training beserta target yang bertujuan untuk mendapatkan bobot yang akan digunakan pada proses klasifikasi. Bobot awal adalah { 1, 1, 1, 0} dan { 1, 0, 1, 1} dengan learning rate 0,05 dengan fungsi pembelajaran = 0,1. Pelatihan Iterasi ke 1 1. Data ke 1 { 0, 1, 1, 0} dengan target 0, bobot = {{ 1, 1, 1, 0},{ 1, 0, 1, 1}}      - menghitung bobot untuk masing masing output :          kelas 0 = sqrt(((0-1)^2)+((1-1)^2)+((1-1)^2)+((0-0)^2)) = 1         kelas 1 = sqrt(((0-1)^2)+((1-0)^2)+((1-

Pemrograman Berorientasi Object - Overloading dan Overriding

       Function atau method overloading dan override adalah fitur yang sangat mendasar dan berguna dari bahasa OOP manapun. Dalam tutorial ini kita akan membahas implementasi metode overloading dan override di php. Di sini pertama kita akan membahas dasar-dasar overloading dan override. Setelah eksplorasi dasar kita akan menerapkan overloading dan override di php. Sebelum melangkah lebih jauh, saya mengasumsikan bahwa Anda memiliki pengetahuan dasar tentang class dan pewarisan di php. Anda juga memiliki pemahaman tentang magic method di php. Magic method karena overloading di php bisa di implmentasikan dengan menggunakan magic method. Overriding        Arti dasar dari overriding di OOP sama dengan arti kata sebenarnya. Dalam arti kata sebenarnya dari overriding adalah menggantikan perilaku orang tua yang sama pada anak. Ini sama dengan override method di OOP. Dalam arti OOP, override adalah mengganti method class induk di class anak. Atau dengan method kata kunci sederhana yang me