Bagi pengguna laravel pasti pernah menggunakan query builder bawaan laravel, dan bagi saya query builder milik laravel mudah, cepat dan ringan. Namun adakalanya, saya hanya perlu menggunakan query buildernya pada PHP tanpa harus menginstall laravel secara keseluruhan. Nah, pada akhirnya saya menemukan pixie.

Pixie ini sangat mirip query builder milik laravel. Pixie mendukung penggunaan database MySQL, Postgresql, dan sqlite. Dan pastinya sudah melakukan sanitasi query, prefix dan lain sebagainya. Beberapa fitur diantaranya adalah :

– Query Events
– Nested Criteria
– Sub Queries
– Nested Queries
– Multiple Database Connections.

Instalasi

Untuk menggunakan pixie, minimal membutuhkan PHP versi 5.3 dan selanjutnya kita dapat menginstall-nya melalui composer :

composer require usmanhalalit/pixie

Lalu untuk membuka koneksi :

// Make sure you have Composer's autoload file included
require 'vendor/autoload.php';

$config = array(
            'driver'    => 'mysql', // Db driver
            'host'      => 'localhost',
            'database'  => 'your-database',
            'username'  => 'root',
            'password'  => 'your-password',
            'charset'   => 'utf8', // Optional
            'collation' => 'utf8_unicode_ci', // Optional
            'prefix'    => 'cb_', // Table prefix, optional
        );

new \Pixie\Connection('mysql', $config, 'QB');

// Run query
$query = QB::table('my_table')->where('name', '=', 'Sana');

Query

Mungkin bagi pengguna laravel tidak perlu belajar lagi, karena query builder sama seperti di laravel

Menampilkan semua data

$query = QB::table('my_table')->where('name', '=', 'alfach');

// Get result
$query->get();

Menampilkan hanya satu data

$query = QB::table('my_table')->where('name', '=', 'alfach');
$row = $query->first();

Menghitung jumlah data

$query = QB::table('my_table')->where('name', '=', 'alfach');
$query->count();

Insert

$data = array(
    'name' => 'Sana',
    'description' => 'Blah'
);
$insertId = QB::table('my_table')->insert($data);

Update

$data = array(
    'name'        => 'Sana',
    'description' => 'Blah'
);

QB::table('my_table')->where('id', 5)->update($data);

Delete

QB::table('my_table')->where('id', '=', 5)->delete();

Menjalankan raw query

$query = QB::query('select * from cb_my_table where age = 12')->get();

Sama persis kan?masih banyak fitur lain yang dimiliki pixie. Untuk tahu lebih banyak silahkan meluncur ke https://github.com/usmanhalalit/pixie

Tulisan Lain   Intro OOP di PHP

By alfach

Leave a Reply

Your email address will not be published. Required fields are marked *