所以我正在尝试使用我在下面编写的代码中看到的数据表。不幸的是,由于某些未知原因,排序,搜索和分页的功能不起作用。我可以知道我错过了什么或者它不工作的原因吗?
@extends('app')
@section('header')
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet">
<link href="https://cdn.datatables.net/1.10.10/css/dataTables.bootstrap.min.css" rel="stylesheet">
@stop
@section('content')
<h1 class="page-header">View Log Information</h1>
<br/>
<div class="container">
<div class="col-xs-12 col-md-12" style="overflow:auto">
<table class="table table-hover" id="logTable">
<thead>
<tr>
<th>
User
</th>
<th>
Log Description
</th>
<th>
Time Stamp
</th>
</tr>
</thead>
@foreach ($logs as $log)
<tbody>
<tr>
<td>
{{ App\User::find($log->user_id)->name }}
</td>
<td>
{{ $log->log_description }}
</td>
<td>
{{ date("F d Y - g:i a",strtotime("$log->created_at")) }}
</td>
</tr>
</tbody>
@endforeach
</table>
</div>
</div>
@stop
@section('scripts')
<!-- Bootstrap Based Data Table Plugin Script-->
<script src="http://code.jquery.com/jquery-2.1.1.min.js" type="text/javascript"></script>
<script src="https://cdn.datatables.net/1.10.10/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/1.10.10/js/dataTables.bootstrap.min.js" type="text/javascript"></script>
<script>
$(document).ready(function() {
$('#logTable').DataTable();
} );
</script>
@stop
答案 0 :(得分:2)
试试这个:
<table class="table table-hover" id="logTable">
<thead>
<tr>
<th>
User
</th>
<th>
Log Description
</th>
<th>
Time Stamp
</th>
</tr>
</thead>
<tbody>
@foreach ($logs as $log)
<tr>
<td>
{{ App\User::find($log->user_id)->name }}
</td>
<td>
{{ $log->log_description }}
</td>
<td>
{{ date("F d Y - g:i a",strtotime("$log->created_at")) }}
</td>
</tr>
@endforeach
</tbody>
</table>
在tbody下移动@foreach
语句。它无法正常工作,因为您在tbody
内不断复制<tr>
而不是<tbody>
。
这只是一个建议。不要在query
处查看。这不是一个好习惯。在控制器内完成所有查询。您可以将Laravel Relationship用于App\User::find($log->user_id)->name
。