Method

Di bawah ini adalah daftar semua method yang bisa digunakan dari sebuah model:

  1. autocommit
  2. avg
  3. commit
  4. count
  5. countGroup
  6. create
  7. createMany
  8. dec
  9. escape
  10. getOne
  11. get
  12. getConnection
  13. getConnectionName
  14. getDBName
  15. getDriver
  16. getModel
  17. getTable
  18. inc
  19. lastError
  20. lastId
  21. lastQuery
  22. max
  23. min
  24. remove
  25. rollback
  26. set
  27. sum
  28. sumFs
  29. 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.

  1. null|bool|int|str Akan di simpan seperti apa adanya.
  2. object|array Akan diconversi menjadi string dengan perintah json_encode.
  3. array __inc Sama dengan perintah inc.
  4. array __dec Sama dengan perintah dec.

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();