Tutorial CRUD CodeIgniter 4 Dengan Bootstrap #6 : Hapus Data Dari Database - Halo teman-teman semuanya, pada kesempatan kali ini kita semua akan belajar bagaimana cara menghapus data dari database di CodeIgniter 4.
Untuk membuat proses hapus data, ini merupakan sesuatu yang sangat mudah sekali, kita hanya membuat 1 function
saja di dalam Controller Post
.
Langkah 1 - Membuat Fungsi Delete di Controller
Langsung saja kita mulai, silahkan teman-teman buka file app/Controllers/Post.php
dan silahkan teman-teman tambahkan kode / function dibawah ini setelah function update
:
/**
* delete function
*/
public function delete($id)
{
//model initialize
$postModel = new PostModel();
$post = $postModel->find($id);
if($post) {
$postModel->delete($id);
//flash message
session()->setFlashdata('message', 'Post Berhasil Dihapus');
return redirect()->to(base_url('post'));
}
}
Jika file Controller Post.php
di tulis secara lengkap, kurang lebih seperti berikut ini :
<?php namespace App\Controllers;
use CodeIgniter\Controller;
use App\Models\PostModel;
class Post extends Controller
{
/**
* index function
*/
public function index()
{
//model initialize
$postModel = new PostModel();
//pager initialize
$pager = \Config\Services::pager();
$data = array(
'posts' => $postModel->paginate(2, 'post'),
'pager' => $postModel->pager
);
return view('post-index', $data);
}
/**
* create function
*/
public function create()
{
return view('post-create');
}
/**
* store function
*/
public function store()
{
//load helper form and URL
helper(['form', 'url']);
//define validation
$validation = $this->validate([
'title' => [
'rules' => 'required',
'errors' => [
'required' => 'Masukkan Judul Post.'
]
],
'content' => [
'rules' => 'required',
'errors' => [
'required' => 'Masukkan konten Post.'
]
],
]);
if(!$validation) {
//render view with error validation message
return view('post-create', [
'validation' => $this->validator
]);
} else {
//model initialize
$postModel = new PostModel();
//insert data into database
$postModel->insert([
'title' => $this->request->getPost('title'),
'content' => $this->request->getPost('content'),
]);
//flash message
session()->setFlashdata('message', 'Post Berhasil Disimpan');
return redirect()->to(base_url('post'));
}
}
/**
* edit function
*/
public function edit($id)
{
//model initialize
$postModel = new PostModel();
$data = array(
'post' => $postModel->find($id)
);
return view('post-edit', $data);
}
/**
* update function
*/
public function update($id)
{
//load helper form and URL
helper(['form', 'url']);
//define validation
$validation = $this->validate([
'title' => [
'rules' => 'required',
'errors' => [
'required' => 'Masukkan Judul Post.'
]
],
'content' => [
'rules' => 'required',
'errors' => [
'required' => 'Masukkan konten Post.'
]
],
]);
if(!$validation) {
//model initialize
$postModel = new PostModel();
//render view with error validation message
return view('post-edit', [
'post' => $postModel->find($id),
'validation' => $this->validator
]);
} else {
//model initialize
$postModel = new PostModel();
//insert data into database
$postModel->update($id, [
'title' => $this->request->getPost('title'),
'content' => $this->request->getPost('content'),
]);
//flash message
session()->setFlashdata('message', 'Post Berhasil Diupdate');
return redirect()->to(base_url('post'));
}
}
/**
* delete function
*/
public function delete($id)
{
//model initialize
$postModel = new PostModel();
$post = $postModel->find($id);
if($post) {
$postModel->delete($id);
//flash message
session()->setFlashdata('message', 'Post Berhasil Dihapus');
return redirect()->to(base_url('post'));
}
}
}
Langkah 2 - Menjalankan Aplikasi
Silahkan teman-teman mencoba menghapus data yang sudah teman-teman masukkan. Jika berhasil maka kurang lebih hasilnya seperti gambar dibawah ini :
DOWNLOAD SOURCE CODE
Untuk teman-teman yang ingin mengunduh source codenya : https://github.com/maulayyacyber/CodeIgniter4-CRUD
KESIMPULAN
Pada tutorial kali ini kita semua sudah belajar bagaimana cara menambahkan function delete untuk menghapus data dari database di CodeIgniter 4.
Jika teman-teman ada pertanyaan atau kendala saat mencoba, silahkan teman-teman bisa bertanya melalui kolom komentar dibawah artikel ini.
Terima Kasih