- 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
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->db
Parameter
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.
AND
OR
$operator_relational
Nilai operator relasional yang dilakukan terhadap kondisi filter dengan nama kolom.
=
!=
atau<>
>
<
>=
<=
like
like%
%like
%like%
ataulike%%
notlike
notlike%
%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{
var $tbl = 'd_order';
var $tbl_as = 'dor';
public function __construct(){
parent::__construct();
$this->db->from($this->tbl,$this->tbl_as);
}
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);