当前位置:首页 > CMS教程 > 其它CMS > 列表

laravel yajra插件 datatable的使用详解

发布:smiling 来源: PHP粉丝网  添加日期:2022-04-09 09:56:33 浏览: 评论:0 

这篇文章主要介绍了laravel yajra插件 datatable的使用详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下。

安装laravel框架

命令行cd进入指定目录下,执行

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

在指定目录下创建最新的laravel项目框架

安装yajra插件

命令行cd进入项目根目录下,执行

composer require yajra/laravel-datatables-oracle

安装yajra datatables软件包

发布yajra datatables软件包

打开config/app.php文件,修改providers和aliases配置

  1. 'providers' => [ 
  2.  .... 
  3.  Yajra\DataTables\DataTablesServiceProvider::class
  4. 'aliases' => [ 
  5.  .... 
  6.  'DataTables' => Yajra\DataTables\Facades\DataTables::class

view的创建

  1. <!DOCTYPE html> 
  2. <html lang="{{ str_replace('_', '-', app()->getLocale()) }}"> 
  3.   <head> 
  4.     <meta charset="utf-8"> 
  5.     <meta name="viewport" content="width=device-width, initial-scale=1"> 
  6.  
  7.     <title>Laravel-datatable</title> 
  8.  
  9.     <!-- Fonts --> 
  10.     <link href="https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700&display=swap" rel="external nofollow" rel="stylesheet"> 
  11.  
  12.     <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/v/dt/dt-1.10.23/datatables.min.css" rel="external nofollow" /> 
  13.  
  14.     <script type="text/javascript" src="https://code.jquery.com/jquery-3.5.1.min.js"></script> 
  15.     <script type="text/javascript" src="https://cdn.datatables.net/v/dt/dt-1.10.23/datatables.min.js"></script> 
  16.  
  17.     <style> 
  18.       body { 
  19.         font-family: 'Nunito'; 
  20.       } 
  21.     </style> 
  22.   </head> 
  23.   <body class="antialiased"> 
  24.   {{\Carbon\Carbon::now()}} 
  25.   <table id="example"> 
  26.     <thead> 
  27.     <tr> 
  28.       <th></th> 
  29.       <th>姓名</th> 
  30.       <th>生日</th> 
  31.       <th>性别</th> 
  32.       <th>工作</th> 
  33.       <th>电话</th> 
  34.       <th>邮箱</th> 
  35.       <th>地址</th> 
  36.     </tr> 
  37.     </thead> 
  38.   </table> 
  39.   </body> 
  40.   <script> 
  41.     $(document).ready(function (){ 
  42.       let datatable = $('#example').DataTable({ 
  43.         searching:false, 
  44.         paging:false, 
  45.         ajax:{ 
  46.           url:"{{route('getData')}}", 
  47.         }, 
  48.         columns:[ 
  49.           { 
  50.             data:"id", 
  51.             name:"id", 
  52.           }, 
  53.           { 
  54.             data:"name", 
  55.             name:"name", 
  56.           }, 
  57.           { 
  58.             data:"birthday", 
  59.             name:"birthday", 
  60.           }, 
  61.           { 
  62.             data:"sex", 
  63.             name:"sex", 
  64.           }, 
  65.           { 
  66.             data:"job", 
  67.             name:"job", 
  68.           }, 
  69.           { 
  70.             data:"tel", 
  71.             name:"tel", 
  72.           }, 
  73.           { 
  74.             data:"email", 
  75.             name:"email", 
  76.           }, 
  77.           { 
  78.             data:"address", 
  79.             name:"address", 
  80.           }, 
  81.         ], 
  82.       }); 
  83.     }); 
  84.   </script> 
  85. </html> 

创建控制器

cmd执行

php artisan make:controller DatatableController

设定路由并编辑控制器

  1. //web.php文件 
  2. Route::get('/datatable',[App\Http\Controllers\DatatableController::class,'index']); 
  3. Route::get('/datatable',[App\Http\Controllers\DatatableController::class,'getData'])->name('getData'); 
  4.  
  5. //控制器 
  6. <?php 
  7.  
  8. namespace App\Http\Controllers; 
  9.  
  10. use Illuminate\Http\Request; 
  11. use Illuminate\Support\Facades\DB; 
  12.  
  13. class DatatableController extends Controller 
  14.   public function index(){ 
  15.     return view('welcome'); 
  16.   } 
  17.  
  18.   public function getData(){ 
  19.     $datas = DB::table('user')->select('*')->get(); 
  20.     return datatables()->of($datas
  21.       ->editColumn('id''<input type="hidden" value="{{$id}}"><input type="checkbox" name="select">')->editColumn('name''{{$name}}'
  22.       ->editColumn('birthday''{{$birthday}}')->editColumn('sex''{{$sex}}'
  23.       ->editColumn('job''{{$job}}')->editColumn('tel''{{$tel}}'
  24.       ->editColumn('email''{{$email}}')->editColumn('address''{{$address}}'
  25.       ->escapeColumns([])->make(true); 
  26.   } 

效果图

laravel yajra插件 datatable的使用详解

Tags: yajra datatable

分享到: