Metode Insert

Insert merupakan sebuah metode dari properti $db yang ada didalam kelas SENE_Model untuk digunakan sebagai Query Builder. Kegunaan dari metode ini adalah untuk menambahkan data pada sebuah tabel.

Bentuk Umum

Berikut ini adalah bentuk umum dari metode insert dari properti $db yang ada di dalam kelas SENE_Model.

$this->db->insert(string $table_name, array $data_insert [, bool $mass_insert=0 [, bool $is_debug=0]]): $this->db

Parameter

Metode insert memiliki 2 parameter wajib yaitu $table_name and $values.

$table_name

Nilai dari $table_name merujuk pada nama tabel yang akan ditambahkan datanya.

$data_insert

Nilai $data_insert bertipe data array yang mana kunci array-nya merujuk pada nama kolom dari tabel terpilih. Dan nilai array-nya berisi data yang akan dimasukan ke dalam tabel. Setiap isi nilai ini dapat diisi fungsi bawaan dari MySQL, seperti:

  • NOW()
  • NULL

$mass_insert

Nilai $mass_insert dapat berisi nilai 1 dan 0. Apabila nilai sama dengan 1 (satu), digunakan untuk menginsert data lebih dari satu baris dalam satu kali pemanggilan metode. Supaya metode ini dapat berjalan dengan baik, nilai dari $data_insert harus bertipe data array of array. Dimana array pertama berisikan sequence atau urutan baris, dengan key otomatis. Sementara untuk isinya dari setiap baris urutan array berisikan gabungan kunci dan nilai array seperti pada insert data pada umumnya.

$is_debug

Nilai $is_debug dapat berisi nilai 1 dan 0. Apabila nilai sama dengan 1 (satu), proses akan terhenti dan akan menampilkan query yang digunakan oleh metode ini. Meskipun query ditampilkan, tidak ada proses yang tereksekusi ketika nilai $is_debug sama dengan 1.

Contoh Penggunaan

Berikut ini adalah contoh penggunaan metode insert pada sebuah model.

<?php
class Blog_Model extends SENE_Model{
  var $tbl = 'blog';
  var $tbl_as = 'b';
  public function __construct(){
    	 parent::__construct();
  }
  public function insert($di){
    $this->db->insert($ths->tbl,$di);
  }
}

Sementara, contoh kode pada kelas controllernya

<?php
class Blog extends SENE_Controller{
  public function __construct(){
    parent::__construct();
    $this->load('blog_model','bm'); #class scope model
  }
  public function index(){
    $di = array();
    $di['id'] = 1;
    $di['title'] = "This is new title of this blog!";
    $di['content'] = "This is new title of this blog!";
    $res = $this->bm->insert($di); //call the method on the model
    if($res){
      echo 'Success';
    }else{
      echo 'failed';
    }
  }
}

Contoh Penggunaan untuk insert massal

Berikut ini adalah contoh insert data secara massal dengan menggunakan metode insert.

<?php
class Blog_Model extends SENE_Model{
  var $tbl = 'blog';
  var $tbl_as = 'b';
  public function __construct(){
    	 parent::__construct();
  }
  public function insert($di){
    $dis = array();
    $dis[] = array(
    'id' => 'null',
    'nama' => 'Daeng'
    );
    $dis[] = array(
    'id' => 'null',
    'nama' => 'Andi'
    );
    $dis[] = array(
    'id' => 'null',
    'nama' => 'Reza'
    );
    $dis[] = array(
    'id' => 'null',
    'nama' => 'Loan'
    );
    $this->db->insert($ths->tbl, $dis, 1);
  }
}

Fungsi dan Nilai Bawaan MySQL / MariaDB

Seme Framework mendukung fungsi dan nilai bawaan dari sistem database, seperti:

  • NOW()
  • NULL

Contoh Penggunaan

Berikut ini contoh penggunaan fungsi dan nilai bawaan dari sistem database

...
//data input
$di = array();
...
$di['id'] = 'NULL';
$di['cdate'] = 'NOW()';
..
$res = $this->aakm->set($di);
...

Lihat kode lengkapnya dalam Tutorial: Basic API.