Skip to content

Instantly share code, notes, and snippets.

@AlphaRomeoMike
Created December 23, 2020 15:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save AlphaRomeoMike/db63646aa435344e4d4e8d7f10587767 to your computer and use it in GitHub Desktop.
Save AlphaRomeoMike/db63646aa435344e4d4e8d7f10587767 to your computer and use it in GitHub Desktop.
Crud Controller
<?php
namespace App\Controllers;
use App\Models\CrudModel;
class Crud extends BaseController {
//SELECT DATA
function index() {
// echo "Hello CI-4";
$crudModel = new CrudModel();
$data['user_data'] = $crudModel->orderBy('id', 'ASC')->paginate(10);
$data['pagination_link'] = $crudModel->pager;
return view('crud_view', $data);
}
//ADD DATA
function add() {
return view('add_data');
}
//PERFORM VALIDATION TO ADD DATA
function add_validation() {
helper(['form', 'url']);
$error = $this->validate([
'name' => 'required|min_length[3]',
'email' => 'required|valid_email',
'gender' => 'required'
]);
if(!$error) {
echo view('add_data', [
'error' => $this->validator
]);
} else {
$crudModel = new CrudModel();
$crudModel->save([
'name' => $this->request->getVar('name'),
'email' => $this->request->getVar('email'),
'gender' => $this->request->getVar('gender')
]);
$session = \Config\Services::session();
$session->setFlashdata('success', 'User Data Added');
return $this->response->redirect(site_url('/crud'));
}
}
//FETCH SINGLE DATA FOR UPDATION
function fetch_single_data($id = null) {
$crudModel = new CrudModel();
$data['user_data'] = $crudModel->where('id', $id)->first();
return view('edit_data', $data);
}
//PERFORM VALIDATION FOR UPDATION
function edit_validation() {
helper(['form', 'url']);
$error = $this->validate([
'name' => 'required|min_length[3]',
'email' => 'required|valid_email',
'gender' => 'required'
]);
if(!$error) {
echo view('edit_data', [
'error' => $this->validator
]);
} else {
$crudModel = new CrudModel();
$id = $this->request->getVar('id');
$data = [
'name' => $this->request->getVar('name'),
'email' => $this->request->getVar('email'),
'gender' => $this->request->getVar('gender'),
];
$crudModel->update($id, $data);
$session = \Config\Services::session();
$session->setFlashdata('success', 'User data updated');
return $this->response->redirect(site_url("/crud"));
}
}
//DELETE DATA
function delete($id) {
$crudModel = new CrudModel();
$crudModel->where('id', $id)->delete($id);
$session = \Config\Services::session();
$session->setFlashdata('success', 'User data deleted');
return $this->response->redirect(site_url("/crud"));
}
}
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment