Belajar CodeIgniter #06: Cara Menggunakan Model dan Database

Profile
Prasatya

12 Februari 2025

Belajar CodeIgniter #06: Cara Menggunakan Model dan Database

Dalam pengembangan aplikasi web dengan CodeIgniter, memahami konsep Model dan Database sangat penting untuk mengelola data secara efisien. Model bertanggung jawab untuk berinteraksi dengan database, memungkinkan kita untuk melakukan operasi seperti menyimpan, mengambil, memperbarui, dan menghapus data dengan lebih mudah.

Dalam artikel ini, kita akan membahas secara mendalam tentang cara menggunakan Model dan Database dalam CodeIgniter. Mulai dari konsep dasar hingga implementasi praktis, sehingga Anda bisa mengaplikasikan pengetahuan ini ke dalam proyek nyata.

Apa Itu Model dalam CodeIgniter?

Model dalam CodeIgniter adalah bagian dari arsitektur MVC (Model-View-Controller) yang bertugas untuk mengelola data dan logika bisnis. Model digunakan untuk berinteraksi dengan database dan menjalankan operasi CRUD. Dengan menggunakan Model, kita dapat menjaga kode tetap terstruktur dan lebih mudah untuk dipelihara.

CodeIgniter memiliki fitur bawaan untuk memudahkan penggunaan Model, seperti Active Record, yang memungkinkan kita untuk melakukan operasi database tanpa harus menulis query SQL secara manual. Selain itu, Model dalam CodeIgniter juga mendukung berbagai metode untuk menangani validasi data, relasi antar tabel, dan pemrosesan data sebelum disajikan ke View.

Dalam praktiknya, Model sering digunakan untuk mengelompokkan fungsi-fungsi yang berhubungan dengan database dalam satu file, sehingga kode menjadi lebih rapi dan terorganisir. Sebagai contoh, jika kita memiliki aplikasi e-commerce, kita bisa membuat Model untuk mengelola produk, pengguna, dan transaksi secara terpisah.

Baca Juga: Belajar CodeIgniter #03: Mengenal Konsep Arsitektur MVC dan Routing

Cara Membuat Model di CodeIgniter

  1. Buat File Model
  • Model disimpan di dalam folder app/Models/.
  • Nama file Model harus sesuai dengan konvensi penamaan, misalnya UserModel.php.
  1. Tulis Kode Model

    <?php namespace App\Models; use CodeIgniter\Model; class UserModel extends Model { protected $table = 'users'; protected $primaryKey = 'id'; protected $allowedFields = ['name', 'email', 'password']; }

Menghubungkan Model dengan Database

Sebelum menggunakan Model, kita perlu memastikan bahwa database telah dikonfigurasi dengan benar di file app/Config/Database.php.

public $default = [ 'DSN' => '', 'hostname' => 'localhost', 'username' => 'root', 'password' => '', 'database' => 'nama_database', 'DBDriver' => 'MySQLi', ];

Baca Juga: Belajar CodeIgniter #04: Memahami Controller Lebih Dalam Untuk Pemula

Menggunakan Model di Controller

Untuk menggunakan Model dalam Controller, kita harus memanggilnya terlebih dahulu.

namespace App\Controllers; use App\Models\UserModel; use CodeIgniter\Controller; class UserController extends Controller { public function index() { $userModel = new UserModel(); $data['users'] = $userModel->findAll(); return view('user_view', $data); } }

Operasi CRUD dengan Model

  1. Membaca Data

    $users = $userModel->findAll();
    • Mengambil semua data dari tabel users.
    • Bisa menggunakan metode where untuk mengambil data spesifik.
  2. Menambah Data

    $userModel->save([ 'name' => 'John Doe', 'email' => 'john@example.com', 'password' => password_hash('123456', PASSWORD_DEFAULT) ]);
    • Data akan otomatis disimpan ke dalam tabel.
    • Menggunakan metode save() yang menangani insert dan update otomatis.
  3. Mengupdate Data

    $userModel->update($id, ['name' => 'Jane Doe']);
    • Memperbarui data berdasarkan id tertentu.
    • Data yang tidak disebutkan tetap utuh, hanya field yang diupdate yang berubah.
  4. Menghapus Data

    $userModel->delete($id);
    • Menghapus data berdasarkan id tertentu.
    • Bisa juga menghapus banyak data dengan kondisi tertentu.

Kesimpulan

Menggunakan Model dan Database dalam CodeIgniter adalah langkah penting dalam membangun aplikasi yang efisien dan mudah dipelihara. Dengan memahami konsep Model, kita dapat mengelola data dengan lebih baik dan mengurangi kompleksitas kode.

Image

kita telah membahas tentang konsep Model dalam CodeIgniter, bagaimana cara menggunakannya untuk berinteraksi dengan database, serta keuntungan yang ditawarkan. Dengan penerapan yang baik, penggunaan Model akan membantu kita dalam mengembangkan aplikasi yang lebih terstruktur, efisien, dan scalable. Untuk kamu yang ketinggalan pembahasan Codelgniter kamu bisa baca dengan urutan di bawah ini:

Bergabunglah dengan komunitas CodePolitan untuk berdiskusi lebih lanjut, mendapatkan insight terbaru, serta berbagi pengalaman dengan para developer lainnya. Selamat belajar dan selamat coding!

What do you think?

Reactions