SEME Framework API DOC where_as

Metode where_as merupakan salah satu metode yang ada di dalam SEME FRAMEWORK yang menjadi jembatan dari kode framework menjadi SQL
104  
       

Metode where_as merupakan salah satu metode yang ada di dalam Class SENE_MySQLi_Engine yang menjadi jembatan dari kode framework menjadi SQL. Metode ini berguna untuk mengganti syntax WHERE didalam query, sehingga bisa digunakan lebih mudah tanpa harus melihat Panduan SQL.

Bentuk Umum

Berikut ini adalah bentuk umum dari metode where_as.

where_as($parameter_pertama,$parameter_kedua,$operand,$component,$bracket_buka,$bracket_tutup);

Penjelasan Parameter

Jumlah parameter dari metode where_as itu ada 7. Berikut ini adalah penjelasannya.

  • Parameter Pertama

    Parameter pertama ini isinya bisa array dengan bentuk name value pair dimana setiap kunci array nya mewakili nama dari field dalam tabel. Sementara nilai dari array nya itu mewakili nilai yang akan dibandingkan. Jika isinya adalah array, maka parameter kedua akan diabaikan.

    Jika isinya string, maka parameter ini akan dianggap sebagai nama field didalam tabel sehingga parameter kedua ini wajib diisi sebagai nilai dari field yang akan dibandingkan

  • Parameter Kedua

    Parameter kedua ini berisikan string yang akan menjadi nilai pembanding dengan field tabel yang didefinisikan di parameter pertama. Parameter ini bersifat wajib jika diisi dengan string parameter pertamanya

  • Operand

    Parameter operand ini berisi nilai awal AND. Sehingga setiap pemanggilan where_as, akan disambungkan dengan kata kunci operand AND. Adapun nilai lainnya adalah OR. Isi nilai dari operand ini tidak case sensitif. Boleh huruf kapital atau tidak.

  • Parameter Component

    Parameter ini secara default akan berisi = parameter ini merupakan pembanding dari field dan nilai field. Parameter ini juga bisa diisi.

    • = Sama dengan.
    • <> Tidak Sama dengan.
    • != Tidak sama dengan, akan dirubah menjadi <> jika menggunakan keyword ini.
    • > lebih besar
    • >= lebih besar sama dengan
    • < lebih kecil
    • <= lebih kecil sama dengan
    • like seperti, perbandingan tepat untuk string
    • %like wildcard prefix
    • like% wildcard suffix
    • like%% pengganti untuk like %%
    • %like% wildcard di prefix dan suffix
    • notlike seperti, perbandingan tepat untuk string
    • %notlike wildcard prefix
    • notlike% wildcard suffix
    • notlike%% pengganti untuk notlike %%
    • %notlike% wildcard di prefix dan suffix
  • Braket Buka

    Parameter ini memungkinkan untuk menambahkan prioritas per grup atau open bracket ke setiap perbandingan yang ada didalam where. Adapun nilai awal dari bracket ini adalah 0. Selain itu parameter ini bisa diisi dengan angka 1

  • Braket Tutup

    Sama seperti braket buka, parameter ini memungkinkan untuk menambahkan prioritas per grup atau open bracket ke setiap perbandingan yang ada didalam where. Adapun nilai awal dari bracket ini adalah 0. Selain itu parameter ini bisa diisi dengan angka 1. Pastikan jika sudah menggunakan bracket buka, harus ditutup dengan bracket tutup diakhir penggunaanya.

Perbedaan where dengan where_as

Perbedaan metode where dengan where_as yaitu dari escaping-nya. Untuk where_as didesain khusus untuk aliasing tabel jika tabelnya dijoin atau di select banyak. Sementara untuk where sendiri, semua pengaliasan akan dianggap nama field sehingga menghasilkan error.

Contoh penggunaan

Berikut ini adalah contoh penggunaan metode where_as.

$this->db->select_as("DISTINCT bu.id","id",1)
  ->select_as("CONCAT(`fname`,' ',`lname`)","nama",1)
  ->select_as("`nip`","nip",1)
  ->from('b_users','bu')
  ->join("b_user_positions","bup","b_user_id",'bu',"id","left")
  ->join("b_company_positions","bcp","id","bup","b_company_position_id","left")
  ->where_as("bu.utype","frontend",'and','like',1,0) //braket dibuka
  ->where_as("bu.is_active","1",'and','=',0,1) //braket ditutup
  ->order_by("CONCAT(bu.`fname`,' ',bu.`lname`)","ASC");
$karyawan = $this->db->get();

Demikian semoga membantu.

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>