Query Menggunakan Criteria pada Yii Framework

Misalkan pada database aplikasi yang menggunakan Yii Framework terdapat table barang. Dengan skema table berikut ini :

mysql> desc barang;
+----------+-------------+------+-----+---------+----------------+
| Field    | Type        | Null | Key | Default | Extra          |
+----------+-------------+------+-----+---------+----------------+
| idbarang | int(11)     | NO   | PRI | NULL    | auto_increment |
| kode     | varchar(10) | YES  | UNI | NULL    |                |
| nama     | varchar(30) | YES  |     | NULL    |                |
| stok     | int(11)     | YES  |     | NULL    |                |
| min_stok | int(11)     | YES  |     | NULL    |                |
| harga    | double      | YES  |     | NULL    |                |
| idjenis  | int(11)     | NO   | MUL | NULL    |                |
+----------+-------------+------+-----+---------+----------------+

Pada contoh program ini, nama Model dari table barang adalah Barang Berikut Contoh Implementasi Querynya :

  1. Temukan satu baris record berdasarkan criteria unik tertentu non primary key
  2.   $criteria = new CDbCriteria;
      $criteria->condition='kode=:kodenya';
      $criteria->param=array(':kodenya'=>'TV01');
      $barang = Barang::model()->find($criteria);
    
  3. Temukan kumpulan baris record berdasarkan criteria tertentu
  4.   $criteria = new CDbCriteria;
      $criteria->condition='idjenis=:idjenisnya';
      $criteria->param=array(':idjenisnya'=>1);
      $barangs = Barang::model()->findAll($criteria);
    
  5. Mendapatkan jumlah baris record dari query dengan criteria tertentu
  6.   $criteria = new CDbCriteria;
      $criteria->condition='idjenis=:idjenisnya';
      $criteria->param=array(':idjenisnya'=>1);
      $jumlah_barang = Barang::model()->count($criteria);
    
  7. Cek apakah jumlah baris record hasil query ada
  8.   $criteria = new CDbCriteria;
      $criteria->condition='idjenis=:idjenisnya';
      $criteria->param=array(':idjenisnya'=>1);
      $adakah = Barang::model()->exists($criteria);
    

Post a Response