- 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 Last ID
Metode last_id
digunakan untuk mengambil ID atau PRIMARY KEY
terakhir data yang ditambahkan tabel dalam database, dengan catatan PRIMARY KEY sudah disetel sebagai AUTO_INCREMENT
.
Metode ini mengembalikan nilai berupa angka (integer) positif.
Bentuk Umum
Berikut ini adalah bentuk umum dari metode last_id
dari properti $db
yang ada di dalam kelas SENE_Model
.
$this->db->lastId(): integer
Parameters
Metode ini tidak membutuhkan parameter apapun.
Contoh
Pada contoh ini, kita akan mencoba menambahkan data baru dan akan menambahkan data baru lainnya dari hasil metode last_id
.
Contoh Kelas Model 1
Berikut ini adalah contoh penggunaan dalam bentuk kode untuk metode last_id
.
<?php
class D_Order_Model extends SENE_Model{
var $tbl = 'd_order';
var $tbl_as = 'dor';
public function __construct(){
parent::__construct();
}
...
public function set($di){
$this->db->insert($ths->tbl,$di);
return $this->db->lastId();
}
...
}
Contoh Kelas Model 2
Contoh model ke-2 untuk penunjang contoh model ke-1.
<?php
class D_Order_Detail_Model extends SENE_Model{
var $tbl = 'd_order_detail';
var $tbl_as = 'dod';
public function __construct(){
parent::__construct();
}
...
public function set($dis){
return $this->db->insert_multi($ths->tbl,$dis);
}
...
}
Contoh Kelas Controller
Pada kelas controller ini, kita akan memasukan nilai dari hasil metode last_id
ke model lainnya.
<?php
class Penjualan extends SENE_Controller{
public function __construct(){
parent::__construct();
$this->load('d_order_model','dom');
$this->load('d_order_detail_model','dodm');
}
...
public function submit(){
$di = array();
$di['buyer_name'] = "Aldy Iqbal";
$di['grand_total'] = "100";
$di['date_create'] = "NOW()";
$last_id = $this->dom->set($di);
if($last_id){
$dis = array();
$di = array();
$di['d_order_id'] = $last_id;
$di['product_name'] = "Hand Sanitizer";
$di['price'] = "25";
$di['qty'] = "2";
$dis[] = $di;
$di = array();
$di['d_order_id'] = $last_id;
$di['product_name'] = "Candy";
$di['price'] = "10";
$di['qty'] = "5";
$dis[] = $di;
$res = $this->dodm->setMass($dis);
if($res){
echo 'Success';
}else{
echo 'failed, ideally we have to rollback the first insert, but in this example has no rollback method';
}
}else{
echo 'failed';
}
}
...
}