DataTable 实现但不适用于 Laravel 中的数据?

DataTable implements but does not work in for my data in Laravel?

我为我的管理员用户仪表板实现了 DataTables,但它的工作方式类似于搜索、订购、显示和条目按钮正在显示但不工作。

好像它只显示但对我的数据不起作用。

例如,如果我们搜索任何内容,它会显示 没有可用数据 即使数据在那里,即使有 Entites(有 100 个数据如果我只显示 10 个数据,它不起作用 )

我要说的是,一切都出现了,但不起作用...

下面是我的代码

<link href="{{ asset('assets\admin\vendor\datatables\dataTables.bootstrap4.min.css') }}" rel="stylesheet">

<script src="{{ asset('assets\admin\vendor\jquery\jquery.min.js') }}"></script>
<script src="{{ asset('assets\admin\vendor\datatables\jquery.dataTables.min.js') }}"></script>
<script src="{{ asset('assets\admin\vendor\datatables\dataTables.bootstrap4.min.js') }}"></script>

<script type="text/javascript">
$(document).ready(function() {
  $('#example').DataTable( {
  } );
} );
</script>

在Blade

<div class="table-responsive">
<table id="example" class="display table table-bordered" width="100%" cellspacing="0">
<thead>
  <tr>
    <th>Id</th>
    <th>Name</th>
    <th>Email</th>
    <th>Role</th>
    <th>Created At</th>
    <th>Updated At</th>
    <th></th>
  </tr>
</thead>

@foreach ($users as $user)
  
  <tbody>
    <tr>
      <td>{{ $user->id }}</td>
      <td class="text-capitalize">{{ $user->name}}</td>
      <td>{{ $user->email }}</td>
      <td class="text-capitalize">{{ $user->role}}</td>
      <td>{{ $user->created_at->diffForHumans() }}</td>
      <td>{{ $user->updated_at->diffForHumans() }}</td>
      <td>
        <div class="btn-group">
          <button class="btn btn-success btn-sm rounded-0" type="button" data-toggle="modal" data-target="#update{{ $user->id }}" data-toggle="tooltip" data-placement="left" title="Edit"><i class="fa fa-edit"></i></button>
          <button class="btn btn-danger btn-sm rounded-0 ml-2" type="button" data-toggle="modal" data-target="#delete{{ $user->id }}" data-toggle="tooltip" data-placement="top" title="Delete"><i class="fa fa-trash"></i></button>
        </div>
      </td>
    </tr>
  </tbody>
  
@endforeach

你能试试这个吗,

<div class="table-responsive">
<table id="example" class="display table table-bordered" width="100%" cellspacing="0">
<thead>
  <tr>
    <th>Id</th>
    <th>Name</th>
    <th>Email</th>
    <th>Role</th>
    <th>Created At</th>
    <th>Updated At</th>
    <th></th>
  </tr>
</thead>

  <tbody>
    @foreach ($users as $user)
    <tr>
      <td>{{ $user->id }}</td>
      <td class="text-capitalize">{{ $user->name}}</td>
      <td>{{ $user->email }}</td>
      <td class="text-capitalize">{{ $user->role}}</td>
      <td>{{ $user->created_at->diffForHumans() }}</td>
      <td>{{ $user->updated_at->diffForHumans() }}</td>
      <td>
        <div class="btn-group">
          <button class="btn btn-success btn-sm rounded-0" type="button" data-toggle="modal" data-target="#update{{ $user->id }}" data-toggle="tooltip" data-placement="left" title="Edit"><i class="fa fa-edit"></i></button>
          <button class="btn btn-danger btn-sm rounded-0 ml-2" type="button" data-toggle="modal" data-target="#delete{{ $user->id }}" data-toggle="tooltip" data-placement="top" title="Delete"><i class="fa fa-trash"></i></button>
        </div>
      </td>
    </tr>
    @endforeach
  </tbody>

如果您能分享屏幕截图,我认为这是一个很好的问题,因为我们只能想象错误。

注意:我所做的是改变你循环的位置,因为现在你正在循环 table 的主体而不是 tr(table 行),我认为这是什么您真的很想实现,因为据我所知,Datatables 不允许在其中包含多个 table body 标签