Informasi Dasar
Pada dasarnya Anda dapat menjalankan query untuk mengelola database dengan menggunakan 3 cara yang tersedia di WPFrame. Anda dapat menjalankan atau mengeksekusi Query Sql yang ada dengan menggunakan wpdb dari WordPress, WPFrame Query, dan Laravel Eloquent (Menggunakan laravel capsule).
Menjalankan WordPress WPDB
WordPress pada dasarnya sudah menyediakan fungsi yang dapat Anda gunakan untuk kebutuhan menjalankan Query Sql. Contohnya seperti untuk melakukan CRUD (Create, Read, Update dan Delete). Anda dapat menjalankan Query dengan variable global $wpdb
ataupun dengan kelas Wpdb
.
Contoh sederhana untuk menjalankan Query dengan fungsi WordPress Wpdb pada Controller WPFrame:
<?php namespace WPFP\App\Controllers; use WPFP\App\Helpers\Blade; use WPFP\Boot\System\Controller; class Wpf_dashboard extends Controller { public function __construct() { // Add Something } public function index() { global $wpdb; // Select All users from table wp_users $users = $wpdb->get_results('SELECT * FROM `wp_users`'); var_dump($users); } }
Anda bisa mendapatkan informasi yang lebih banyak melalui dokumentasi WordPress mengenai wpdb (Kunjungi Halaman Wpdb).
Menjalankan Query dengan Fungsi WPFrame
WPFrame menyediakan fungsi yang dapat Anda gunakan untuk menjalankan Query untuk kebutuhan sistem aplikasi Anda. Anda dapat menggunakan Library
yang tersedia yaitu Query_builder
yang berada dibawah namespace WPFP\App\Libraries
.
Anda dapat menggunakan library Query_builder melalui Controller seperti contoh berikut:
<?php namespace WPFP\App\Controllers; use WPFP\App\Helpers\Blade; use WPFP\App\Libraries\Query_builder; use WPFP\Boot\System\Controller; class Wpf_dashboard extends Controller { public $db; public function __construct() { $this->autoload('query_builder', 'library'); $this->db = new Query_builder(); } public function index() { // Example $users = $this->db->select('wp_users'); $row_data = $this->db->rowArr($users); var_dump($row_data); } }
Anda juga dapat mendaftarkan Query_builder agar dapat diakses secara global oleh controller dengan mengaturnya pada konfigurasi autoload.