This laravel tutorial help to add CRUD operation with datatable, I will just share laravel code to create a new record, edit a record and delete a record.
I have already shared How To Use jQuery Datatable With Laravel. We have integrated jQuery datatable with laravel.
We will cover the following functionality in this laravel tutorial :
- Create a record Template view using bootstrap.
- Create a Method to add a new record to the Database.
- Update record Template view using bootstrap.
- Update Method to save an edit record values into Database.
- Display a single record of data.
- Delete a record from Database.
Laravel CRUD Operation Example Using Datatable
As discussed earlier in this tutorial, I am extending My Previous tutorial.
Create New Record Template
Let’s create a new record functionality in this tutorial. We will add route entry, create a new view file and add logic to handle saving records into the database.

Step 1: Create a new create.blade.php file into resources/view/emp folder. We will add the below code into this file :
@extends('layouts.master')
@section('content')
<div class="main-content-inner">
<div class="page-content">
<div class="col-xs-12">
<h3 class="header smaller lighter blue">Add Employee</h3>
<form accept-charset="UTF-8" action="{{ route('emp.store')}}" method="post">
<div class="col-md-12">
<div class="form-area">
<div class="alert alert-success hide"> </div>
<input name="_token" type="hidden" value="{{ csrf_token() }}">
<div class="alert alert-danger hide"> </div>
<div class="form-group"><input id="employee_name" class="form-control" name="employee_name" type="text" value="{{ old('employee_name') }}" placeholder="Name"> @if ($errors->has('name')) @endif</div>
<div class="form-group"><input id="employee_salary" class="form-control" name="employee_salary" pattern="[0-9]*" type="number" placeholder="Salary Number"></div>
<div class="form-group"><input id="employee_age" class="form-control" name="employee_age" type="number" placeholder="age"></div>
<button id="submit" class="btn btn-primary pull-right" name="submit" type="submit">Add Employee</button></div>
</div>
</form></div>
</div>
</div>
@stopStep 2: Create a button to add a new record in index.blade.php file.
<div class="clearfix well"> <a href="/emp/create" class="btn btn-primary pull-right">Create</a> </div>
When we clicked the above button, we will redirect to add a new record template.
Step 3: Let’s add logic to save record into the database. We will add the below code into the store method in Controllers/EmpController.php file.
public function store(Request $request)
{
$data = $this->validate($request, [
'employee_name' => 'required',
'employee_salary' => 'required|integer',
'employee_age' => 'required|integer'
]);
$emp = new Employee([
'employee_name' => $request->'employee_name'),
'employee_salary'=> $request->get('employee_salary'),
'employee_age'=> $request->get('employee_age')
]);
$emp->save();
return redirect('/emp')->with('success', 'Employee has been added into db.');
}Update A Record Into Laravel

We will create a method to get data and save updated values into the database.
Step 1: Create a method to get particular employee data and send to the edit template.
public function edit($id)
{
$emp = Employee::find($id);
return view('emp.update', compact('emp'));
}Step 2: Create a file update.blade.php into resources/view/emp folder. We will add the below code into this file :
@extends('layouts.master')
@section('content')
<div class="main-content-inner">
<div class="page-content">
<div class="col-xs-12">
<h3 class="header smaller lighter blue">Edit Employee - {{$emp->employee_name}}</h3>
<div class="col-md-12">
<div class="form-area">
<form role="form" method="post" action="{{ route('emp.update', $emp->id)}}" accept-charset="UTF-8">
<input name="_method" type="hidden" value="PUT">
<div class="alert alert-success hide"></div>
<input name="_token" type="hidden" value="{{ csrf_token() }}">
<div class="alert alert-danger hide"></div>
<div class="form-group">
<input type="text" class="form-control" id="name" name="employee_name" value="{{$emp->employee_name}}" placeholder="Name">
</div>
<div class="form-group">
<input type="number" pattern="[0-9]*" class="form-control" id="employee_salary" name="employee_salary" value="{{ $emp->employee_salary }}" placeholder="Salary Number">
</div>
<div class="form-group">
<input class="form-control" type="number" id="employee_age" name="employee_age" placeholder="age" value="{{ $emp->employee_age }}">
</div>
<button type="submit" id="submit" name="submit" class="btn btn-primary pull-right">Update Employee</button>
</form>
</div>
</div>
</div>
</div>
</div>
@stopStep 3: Create a button to edit data from index.blade.php file.
<!-- edit this nerd (uses the edit method found at GET /nerds/{id}/edit -->
<a class="btn btn-small btn-info" href="{{ URL::to('emp/' . $emp->id . '/edit')}}">Edit</a>When we clicked the above button, we will redirect to edit the new record template.
Step 4: We will add the below code into update() method under Controllers/EmpController.php file. This method is responsible to update data into the database.
public function update(Request $request, $id)
{
$data = $this->validate($request, [
'employee_name'=>'required',
'employee_salary'=> 'required|integer',
'employee_age' => 'required|integer'
]);
$emp = Employee::find($id);
$emp->employee_name = $request->get('employee_name');
$emp->employee_salary = $request->get('employee_salary');
$emp->employee_age = $request->get('employee_age');
$emp->save();
return redirect('/emp')->with('success', 'Employee has been updated Successfully.');
}Show A Record Into Laravel
We will add a button to show details of an employee. We will create a method and template to display employee data.

Step 1: Create a method to get particular employee data and send it to show template,
public function show($id)
{
$emp = Employee::find($id);
return view('emp.show', compact('emp'));
}Step 2: Create a file show.blade.php into resources/view/emp folder. We will add the below code into this file :
@extends('layouts.master')
@section('content')
<div class="main-content-inner">
<div class="page-content">
<div class="col-xs-12">
<h3 class="header smaller lighter blue">Employee Data - {{$emp->employee_name}}</h3>
<div class="profile-user-info profile-user-info-striped">
<div class="profile-info-row">
<div class="profile-info-name"> Name</div>
<div class="profile-info-value">
{{$emp->employee_name}}
</div>
</div>
<div class="profile-info-row">
<div class="profile-info-name"> Age</div>
<div class="profile-info-value">
{{$emp->employee_age}}
</div>
</div>
<div class="profile-info-row">
<div class="profile-info-name"> Salary</div>
<div class="profile-info-value">
{{$emp->employee_salary}}
</div>
</div>
</div>
<div>
</div>
</div>
</div>
</div>
@stopStep 3: Add a button to display data, we will add the below button into index.blade.php file.
<a class="btn btn-small btn-success" href="{{ URL::to('emp/' . $emp->id) }}">Show</a>Delete A Record Into Laravel
Now, Implements delete record functionality into laravel.

Step 1: Add a button to delete data, we will add the below button into index.blade.php file.
<a class="btn btn-small btn-success" href="{{ URL::to('emp/' . $emp->id) }}">Show</a>Step 2: Delete method to remove particular employee data from a database.
public function destroy($id)
{
$emp = Employee::find($id);
$emp->delete();
return redirect('/emp')->with('success', 'Employee has been deleted Successfully.');
}
















