在没有 aJax 的情况下使用 Laravel 中的数据表 - table 中没有可用数据
Using DataTables in Laravel without aJax - No data available in table
我有一个呈现 table 的常规 Laravel 视图。当我尝试在其上使用 Datatables 时,它确实呈现 table 但它似乎想在实际呈现 table 之前对其进行格式化。我很困惑,因为在呈现视图时,服务器端的工作已经完成。它唯一要做的就是使用从控制器传递的对象渲染 table。
<table id="stockmovement" class="table table-hover" style="width:100%">
<tbody>
<thead>
<th>Material</th>
<th>Tipo</th>
<th>Quantidade</th>
<th>Valor total</th>
<th>Data</th>
<th>Ordem</th>
<th colspan="3"></th>
</thead>
@foreach($ordercontents as $ordercontent)
<tr>
<td>{{ $ordercontent->material_name }}</td>
<td>{{ $ordercontent->type }}</td>
<td>{{ $ordercontent->oc_weight }}</td>
<td>{{ number_format($ordercontent->oc_weight * $ordercontent->material_price, 2) }}</td>
<td>{{ $ordercontent->order_date }}</td>
<td>{{ $ordercontent->order_name }}</td>
</tr>
@endforeach
</tbody>
</table>
$(document).ready(function() {
$('#stockmovement').DataTable();
})
这就是我的结局:
我不想用 AJAX 来组成我的 table。在它工作正常之前,我已经使用了大量的香草 PHP 和 DataTables 实例。对于我可能遗漏的任何指示,我将不胜感激。
您把 <tbody>
放错了地方。 <tbody>
应该在</thead>
下使用。
代码示例如下:
<table id="stockmovement" class="table table-hover" style="width:100%">
<thead>
<th>Material</th>
<th>Tipo</th>
<th>Quantidade</th>
<th>Valor total</th>
<th>Data</th>
<th>Ordem</th>
</thead>
<tbody>
@foreach($ordercontents as $ordercontent)
<tr>
<td>{{ $ordercontent->material_name }}</td>
<td>{{ $ordercontent->type }}</td>
<td>{{ $ordercontent->oc_weight }}</td>
<td>{{ number_format($ordercontent->oc_weight * $ordercontent->material_price, 2) }}</td>
<td>{{ $ordercontent->order_date }}</td>
<td>{{ $ordercontent->order_name }}</td>
</tr>
@endforeach
</tbody>
</table>
在 thead
标签内添加 tr
标签。
foreach 循环应该在开始和结束 tbody
标记中。
它应该是这样的:
<table id="stockmovement" class="table table-hover" style="width:100%">
<thead>
<tr>
<th>Material</th>
<th>Tipo</th>
<th>Quantidade</th>
<th>Valor total</th>
<th>Data</th>
<th>Ordem</th>
</tr>
</thead>
<tbody>
@foreach($ordercontents as $ordercontent)
<tr>
<td>{{ $ordercontent->material_name }}</td>
<td>{{ $ordercontent->type }}</td>
<td>{{ $ordercontent->oc_weight }}</td>
<td>{{ number_format($ordercontent->oc_weight * $ordercontent->material_price, 2) }}</td>
<td>{{ $ordercontent->order_date }}</td>
<td>{{ $ordercontent->order_name }}</td>
</tr>
@endforeach
</tbody>
</table>
我有一个呈现 table 的常规 Laravel 视图。当我尝试在其上使用 Datatables 时,它确实呈现 table 但它似乎想在实际呈现 table 之前对其进行格式化。我很困惑,因为在呈现视图时,服务器端的工作已经完成。它唯一要做的就是使用从控制器传递的对象渲染 table。
<table id="stockmovement" class="table table-hover" style="width:100%">
<tbody>
<thead>
<th>Material</th>
<th>Tipo</th>
<th>Quantidade</th>
<th>Valor total</th>
<th>Data</th>
<th>Ordem</th>
<th colspan="3"></th>
</thead>
@foreach($ordercontents as $ordercontent)
<tr>
<td>{{ $ordercontent->material_name }}</td>
<td>{{ $ordercontent->type }}</td>
<td>{{ $ordercontent->oc_weight }}</td>
<td>{{ number_format($ordercontent->oc_weight * $ordercontent->material_price, 2) }}</td>
<td>{{ $ordercontent->order_date }}</td>
<td>{{ $ordercontent->order_name }}</td>
</tr>
@endforeach
</tbody>
</table>
$(document).ready(function() {
$('#stockmovement').DataTable();
})
这就是我的结局:
我不想用 AJAX 来组成我的 table。在它工作正常之前,我已经使用了大量的香草 PHP 和 DataTables 实例。对于我可能遗漏的任何指示,我将不胜感激。
您把 <tbody>
放错了地方。 <tbody>
应该在</thead>
下使用。
代码示例如下:
<table id="stockmovement" class="table table-hover" style="width:100%">
<thead>
<th>Material</th>
<th>Tipo</th>
<th>Quantidade</th>
<th>Valor total</th>
<th>Data</th>
<th>Ordem</th>
</thead>
<tbody>
@foreach($ordercontents as $ordercontent)
<tr>
<td>{{ $ordercontent->material_name }}</td>
<td>{{ $ordercontent->type }}</td>
<td>{{ $ordercontent->oc_weight }}</td>
<td>{{ number_format($ordercontent->oc_weight * $ordercontent->material_price, 2) }}</td>
<td>{{ $ordercontent->order_date }}</td>
<td>{{ $ordercontent->order_name }}</td>
</tr>
@endforeach
</tbody>
</table>
在 thead
标签内添加 tr
标签。
foreach 循环应该在开始和结束 tbody
标记中。
它应该是这样的:
<table id="stockmovement" class="table table-hover" style="width:100%">
<thead>
<tr>
<th>Material</th>
<th>Tipo</th>
<th>Quantidade</th>
<th>Valor total</th>
<th>Data</th>
<th>Ordem</th>
</tr>
</thead>
<tbody>
@foreach($ordercontents as $ordercontent)
<tr>
<td>{{ $ordercontent->material_name }}</td>
<td>{{ $ordercontent->type }}</td>
<td>{{ $ordercontent->oc_weight }}</td>
<td>{{ number_format($ordercontent->oc_weight * $ordercontent->material_price, 2) }}</td>
<td>{{ $ordercontent->order_date }}</td>
<td>{{ $ordercontent->order_name }}</td>
</tr>
@endforeach
</tbody>
</table>