首页 > 解决方案 > 如何使用数据表“yajra”在表上显示数据

问题描述

我遵循本教程:如何在 Laravel DataTables 中路由

它是如此简单,但我做不到。在我设置我的控制器和我的路线和视图后,它没有显示数据和表格。在表中我有一个按钮,如“动作”,我怎么能把这个命令带到这个按钮上?

你能检查我的错误查询吗

 Route::get('user/show1', 'userController@show')->name('usershow1');
 Route::get('user/show1-dt', 'userController@indexDataTables')->name('usershow1dt');

控制器

 public function show()
{

    $pemeliharaan = Pemeliharaan::with(['user','alat'])->where('status','harian')->get();

    return view('users.view_harian',['pemeliharaan' => $pemeliharaan]);

}
public function indexDataTables()
{
    $pemeliharaan = Pemeliharaan::query();

// return DataTables::eloquent($pemeliharaan)->toJson();
    return Datatables::of($pemeliharaan)->make(true);  
}

我有这样的看法。页码、搜索和分页显示在视图中,但此数据未显示。你能纠正这个观点吗?

 <div class="box-body table-responsive no-padding">
            <table class="table table-hover" id="table">
              <tbody><tr>
                <th>No</th>
                <th>Nama Alat</th>
                <th>status</th>
                <th>User Input</th>
                <th>Action</th>
                <th>Tanggal</th>
              </tr>

              {{--  @php ---> before i suing datatables my view like that
              $no=0;
              @endphp

              @foreach ($pemeliharaan as $i)
              <tr>
                <td>{{ ++$no }} </td>
                <td>{{ $i->alat->nama_alat}}</td>
                <td>{{ $i->status}}</td>
                <td>{{ $i->user->name}}</td>
                <td> <a href="/user/show/question/{{ $i->id }}" > <span class="label label-primary">Lihat Data</span> </a></td>
                <td>{{ $i->created_at}}</td>
              </tr>
              @endforeach  --}}
            </tbody></table>

          </div>
  .

  .

       @endsection
  @push('scripts')
  <script>
    $(function() {
        $('#table').DataTable({
            processing: true,
            serverSide: true,
            ajax: '{!! route('usershow1dt') !!}',
            columns: [

                { data: 'nama_alat', name: 'nama_alat'},
                { data: 'status', name: 'status'},
                { data: 'User Input', name: 'nama'},
                { data: 'Action', name: 'name'},//here my button 
                { data: 'Tanggal', name: 'created_at'},

            ],
        });
    })
</script>
      @endpush

标签: laraveldatatables

解决方案


尝试这个:

public function show() { 
    $pemeliharaan = Pemeliharaan::where('user','alat')->where('status','harian')->get(); 
    return view('users.view_harian',['pemeliharaan' => $pemeliharaan]); 
}

推荐阅读