Pengunaan
Method
Di bawah ini adalah daftar semua method yang bisa digunakan dari sebuah model:
- autocommit
- avg
- commit
- count
- countGroup
- create
- createMany
- dec
- escape
- getOne
- get
- getConnection
- getConnectionName
- getDBName
- getDriver
- getModel
- getTable
- inc
- lastError
- lastId
- lastQuery
- max
- min
- remove
- rollback
- set
- sum
- sumFs
- truncate
autocommit(bool $mode, string $conn=’write’): bool;
Menyalakan atau mematikan aksi autocommit pada database, hanya bisa digunakan pada engine yang mendukung autocommit.
Model::autocommit(false);
avg(string $field, array $where=[]): int|double;
Mengambil nilai rata-rata suatu field pada tabel.
$average = Model::avg('balance');
commit(string $conn=’write’): bool
Mengeksekusi pending transaksi.
Model::commit();
count(array $where=[]): int;
Menghitung jumlah baris pada tabel.
$total = Model::count();
countGroup(string $field, array $where=[]): array;
Menghitung jumlah baris pada tabel yang dikelompokan berdasarkan nilai suatu kolom.
$total_user_per_status = Model::countGroup('status');
// [
// 1 => 12,
// 2 => 23,
// ...
// ]
create(array $row, bool $ignore=false): ?int;
Menambah satu baris baru pada tabel. Fungsi ini mengembalikan id baris yang bari
ditambahkan. Set properti ignore
menjadi true
untuk menggunakan query
INSERT IGNORE
.
$id = Model::create(['name'=>'mim']);
createMany(array $rows, bool $ignore=false): bool;
Menambahkan banyak baris sekaligus. Fungsi ini mengembalikan
nilai true jika berhasil, dan false jika gagal. Set properti ignore
menjadi
true
untuk menggunakan query INSERT IGNORE
.
$rows = [
['name' => 'mim'],
['name' => 'php'],
['name' => 'framework']
];
Model::createMany($rows);
dec(array $fields, array $where=[]): bool;
Mengurangi nilai kolom tabel sebanyak nilai yang ditentukan.
Model::dec(['quota'=>5], $where);
Pada fungsi di atas, nilai kolom quota
pada tabel akan dikurangi
sebanyak 5 dari nilai sebelumnya.
escape(string $str): string;
Fungsi meng-escape suatu string sebelum digunakan pada query.
$str = Model::escape($str);
getOne(array $where=[], array $order=[‘id’=>false]): ?object;
Mengambil satu baris pada tabel
$row = Model::getOne($cond);
get(array $where=[], int $rpp=0, int $page=1, array $order=[‘id’=>false]): ?array;
Mengambil beberapa baris pada tabel
$rows = Model::get($cond);
getConnection(string $target=’read’);
Fungsi untuk mengambil nama object resource koneksi yang digunakan oleh model untuk melakukan aktifitas dengan database.
$mysql = Model::getConnection('write');
getConnectionName(string $target=’read’): ?string;
Mengambil nama koneksi yang digunakan oleh model untuk membuat object resource koneksi ke database.
$mysql = Model::getConnectionName('write');
getDBName(string $target=’read’): ?string;
Mengambil nama database untuk suatu suatu model pada target koneksi.
$dbname = Model::getDBName();
getDriver(): ?string;
Fungsi untuk mengetahui tipe driver suatu model.
$driver = Model::getDriver();
getModel(): ?string;
Fungsi untuk mengambil nama model yang sedang digunakan pada driver ini.
$model = Model::getModel();
getTable(): string;
Fungsi untuk mengambil nama tabel yang ditangani oleh model ini.
$tabel = Model::getTable();
inc(array $fields, array $where=[]): bool;
Fungsi untuk menambahkan suatu nilai pada kolom. Fungsi ini adalah
kebalikan dari dec
.
Model::inc(['quota'=>5], $where);
Pada fungsi di atas, nilai quota
pada tabel model akan ditambah sebanyak
5 dari nilai sebelumnya.
lastError(): ?string;
Mengembalikan nilai error yang terjadi pada query sebelumnya.
$error = Model::lastError();
lastId(): ?int;
Mengembalikan id ( auto_increment ) dari tabel dari aktifitas create
sebelumnya.
$id = Model::lastId();
lastQuery(): ?string;
Mengembalikan query yang dieksekusi sebelumnya.
$query = Model::lastQuery();
max(string $field, array $where=[]): int;
Mengembalikan nilai tertinggi suatu kolom pada tabel.
Model::max('pageview');
min(string $field, array $where=[]): int|double;
Mengambil nilai paling kecil suatu kolom pada tabel.
$min = Model::min('balance');
remove(array $where=[]): bool;
Menghapus baris pada tabel.
Model::remove(['id'=>12]);
rollback(string $conn=’write’): bool
Membatalkan transaksi terakhir.
Model::rollback();
set(array $fields, array $where=[]): bool;
Mengubah nilai kolom pada tabel.
$where = ['id'=>1];
$column = [
'balance' => 20000,
'name' => 'mim',
// below content converted to string with json_encode
'location' => [
'city' => 'Jakarta',
'provincy' => 'DKI Jakarta'
],
// increase pageviews column by 12.
'pageviews' => ['__inc', 12],
// decrease quota column by 5
'quota' => ['__dec', 5]
];
$success = Model::set($column, $where);
Perhatikan pada contoh di atas, bahwa proses set bisa menggunakan beberapa tipe data.
null|bool|int|str
Akan di simpan seperti apa adanya.object|array
Akan diconversi menjadi string dengan perintahjson_encode
.array __inc
Sama dengan perintahinc
.array __dec
Sama dengan perintahdec
.
sum(string $field, array $where=[]): int|double;
Menjumlahkan nilai suatu kolom pada tabel.
$sum = Model::sum('pageview');
sumFs(array $fields, array $where=[]): ?array
Menjumlahkan beberapa field.
$sums = Model::sumFs(['pageviews','likes','comments']);
truncate(string $target=’write’): bool;
Fungsi untuk mengosongkan tabel.
$sum = Model::truncate();