- Seme Framework
- versi 4.0.3 (ID)
- Persyaratan
- Download & Install
- Pengaturan
- Tutorial
- Perutean URI
- Konstanta
- Variabel Global
- Model
- View
- Controller
- Library
- CLI (command line interface)
- Core
- ABAC
Metode Where
Metode where digunakan untuk melakukan penyaringan data dengan kondisi tertentu.
Metode ini akan mengeksekusi perintah SQL WHERE.
Metode ini juga bagian dari Query Builder.
Bentuk Umum
Berikut ini adalah bentuk umum metode where dari properti $db di kelas SENE_Model .
$this->db->where(string $column_name, mixed $filter_value [, string $operator = 'AND' [, string $relation_operator = '=' [, int $open_bracket = 0 [, int $close_bracket = 0 ]]]]): $this->dbParameter
Metode where terdiri dari 2 parameter wajib yaitu $column_name dan $filter_value.
Nilai parameter ini otomatis di escape.
$column_name
Dapat berisi nama kolom yang akan di filter.
Nilai parameter ini otomatis di escape.
$filter_value
Nilai filter terhadap kolom terpilih.
$operator
Nilai operator yang dilakukan terhadap kondisi WHERE selanjutnya, berikut ini nilai yang cocok untuk nilai dari parameter ini.
ANDOR
$operator_relational
Nilai operator relasional yang dilakukan terhadap kondisi filter dengan nama kolom.
=!=atau<>><>=<=likelike%%like%like%ataulike%%notlikenotlike%%notlike%notlike%ataunotlike%%
$open_bracket
Menambahkan kurung buka pada awal perintah SQL sebelum isi perintah kondisi WHERE selanjutnya.
$close_bracket
Menambahkan kurung tutup pada akhir perintah SQL sebelum isi perintah kondisi WHERE selanjutnya.
Contoh penggunaan
Berikut ini adalah contoh penggunaan metode where pada file d_order_model.php.
<?php
class D_Order_Model extends SENE_Model{
public $table = 'd_order';
public $table_alias = 'dor';
public function __construct(){
parent::__construct();
$this->db->from($this->table,$this->table_alias);
}
public function getById($id){
$this->db->where("id",$id,"AND","=",0,0);
return $this->db->get_first();
}
public function getNotCancelled(){
$this->db->where("order_status","order_cancel","AND","<>",0,0);
return $this->db->get();
}
public function getCancelByUser($b_user_id){
$this->db->where("order_status","order_cancel","AND","like",0,0);
$this->db->where("b_user_id",$b_user_id,"AND","=",0,0);
return $this->db->get();
}
public function getAllCancelRefund(){
$this->db->where("order_status","order_cancel","AND","=",0,0);
$this->db->where("is_refund", 1,"OR","=",1,0);
$this->db->where("is_refund_closed", 1,"OR","=",0,1);
return $this->db->get();
}
}Hasil Perintah SQL
Berikut ini adalah perintah SQL yang dihasilkan oleh metode yang ada pada contoh kelas D_Order_Model.
-- result from executing D_Order_Model::getById(112) --
SELECT * FROM `d_order` WHERE `id` = 112;
-- result from executing D_Order_Model::getNotCancelled() --
SELECT * FROM `d_order` WHERE `order_status` != 'cancel';
-- result from executing D_Order_Model::getCancelByUser(2125) --
SELECT * FROM `d_order` WHERE `order_status` LIKE 'cancel' AND `b_user_id` = 2125;
-- result from executing D_Order_Model::getAllCancelRefund() --
SELECT * FROM `d_order` WHERE `order_status` = "order_cancel" AND ( `is_refund` = 1 OR `is_refund_closed` = 1);