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