Laravel 5.8 Datatables Tutorial With Example

Today, We want to share with you Laravel 5.8 Datatables Tutorial With Example.In this post we will show you Laravel 5.8 Ajax CRUD tutorial using Datatable JS, hear for Laravel 5.8 Ajax Crud Tutorial using DataTables we will give you demo and example for implement.In this post, we will learn about Laravel 5.8 Implementing datatables tutorial using yajra package with an example.

Laravel 5.8 Datatables Tutorial With Example

There are the Following The simple About Laravel 5.8 Datatables Tutorial With Example Full Information With Example and source code.

As I will cover this Post with live Working example to develop Laravel 5.8 DataTables Ajax Crud Tutorial, so the laravel 5.8 datatables show data for this example is following below.

Step 1: Install Laravel 5.8

laravel 5.8 application setup

composer create-project --prefer-dist laravel/laravel ecmowebsite

Step 2 : Simple Laravel 5.8 Install Yajra Datatable Package

install yajra datatable composer package

composer require yajra/laravel-datatables-oracle

config/app.php

Read Also:  ng-init Directive using Angular Example with demo

here Add A Laravel 5.8 providers as well as Add A Laravel 5.8 aliases

.....
//Add A Laravel 5.8 providers
'providers' => [
	....
	Yajra\DataTables\DataTablesServiceProvider::class,
]
'aliases' => [
	....
	'DataTables' => Yajra\DataTables\Facades\DataTables::class,
]
.....

Step 3: Create MySQL Dummy Records

create some dummy products using tinker factory.

php artisan tinker

factory(App\Product::class, 300)->create();

Step 4: Define a Laravel 5.8 Route

routes/web.php

Route::get('products', ['uses'=>'[email protected]', 'as'=>'products.index']);

Step 5: Create Laravel 5.8 Controller

app/Http/Controllers/ProductController.php

<?php
     
namespace App\Http\Controllers;
     
use App\Product;
use Illuminate\Http\Request;
use DataTables;
     
class ProductController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index(Request $request)
    {
        if ($request->ajax()) {
            $data = Product::latest()->get();
            return Datatables::of($data)
                    ->addIndexColumn()
                    ->addColumn('action', function($row){
   
                           $btn = '<a href="javascript:void(0)" class="edit btn btn-primary btn-sm">View</a>';
     
                            return $btn;
                    })
                    ->rawColumns(['action'])
                    ->make(true);
        }
      
        return view('products');
    }
}

Step 6: Create Laravel 5.8 Blade View

resources/views/products.blade.php

<!DOCTYPE html>
<html>
<head>
    <title>Laravel 5.8 Datatables Tutorial - pakainfo.com</title>
    <meta name="csrf-token" content="{{ csrf_token() }}">
    <link rel="stylesheet" href="twitter-bootstrap/4.1.3/css/bootstrap.min.css" />
    <link href="css/jquery.dataTables.min.css" rel="stylesheet">
    <link href="css/dataTables.bootstrap4.min.css" rel="stylesheet">
    <script src="jquery/1.9.1/jquery.js"></script>  
    <script src="/jquery-validate/1.19.0/jquery.validate.js"></script>
    <script src="1.10.16/js/jquery.dataTables.min.js"></script>
    <script src="bootstrap/4.1.3/js/bootstrap.min.js"></script>
    <script src="dataTables.bootstrap4.min.js"></script>
</head>
<body>
    
<div class="container">
    <h1>Simple PHP Laravel 5.8 Datatables Tutorial <br/> pakainfo.com</h1>
    <table class="table table-bordered data-table">
        <thead>
            <tr>
                <th>No</th>
                <th>Name</th>
                <th>Details</th>
                <th width="100px">Action</th>
            </tr>
        </thead>
        <tbody>
        </tbody>
    </table>
</div>
   
</body>
   
<script type="text/javascript">
  $(function () {
    
    var table = $('.data-table').DataTable({
        processing: true,
        serverSide: true,
        ajax: "{{ route('products.index') }}",
        columns: [
            {data: 'DT_RowIndex', name: 'DT_RowIndex'},
            {data: 'name', name: 'name'},
            {data: 'details', name: 'details'},
            {data: 'action', name: 'action', orderable: false, searchable: false},
        ]
    });
    
  });
</script>
</html>

Laravel 5.8 run our example

php artisan serve

open bellow url on your browser run

http://localhost:8000/users

Angular 6 CRUD Operations Application Tutorials

Read :

Read Also:  mysql check if database exists - 2 ways to check if mysql database exists

Summary

You can also read about AngularJS, ASP.NET, VueJs, PHP.

I hope you get an idea about Laravel 5.8 Datatables Tutorial With Example.
I would like to have feedback on my Pakainfo.com blog.
Your valuable feedback, question, or comments about this article are always welcome.
If you enjoyed and liked this post, don’t forget to share.