数据表的排序在 laravel 中不起作用
Sorting of datatable not working in laravel
我有一个 table 可以从数据库中获取数据。在这里,我使用两个不同的 table 来匹配记录,如果两个 table 数据都匹配,则相应地获取值。数据库中的值是“,”分隔的,我可以使用 explode 函数进行拆分。现在的问题是数据库中的每个元素都以“,”开头,并且 returns 第一行为空白。
现在,当我使用 Datatable 来显示数据时,排序在这里不起作用尝试了来自不同博客的太多解决方案,但对我来说没有任何效果。我猜是因为 returns 第一行空白排序不起作用。
这是我的观点:
<table id="tablevar" class="table table-sm">
<thead>
<tr>
<th>
Top Correlators
</th>
<th>
Positive/Negative Correlation
</th>
</tr>
</thead>
@foreach(explode(', ', $detail->Topcorrelators) as $row)
<tr>
<td>
{{ $row }}
</td>
@foreach($Correlations_list as $corr)
@if($corr->Variable == $row )
<td>
@if($corr->Corr > 0)
<div class="progress">
<div class="progress-bar large progress-bar-striped" role="progressbar" style="width: 100%;background-color:#e9ecef;" aria-valuenow="10" aria-valuemin="0" aria-valuemax="100"></div>
<div class="progress-bar progress-bar-striped" role="progressbar" style="width: 100%;background-color:#CA0088 " aria-valuenow="15" aria-valuemin="0" aria-valuemax="100"></div>
</div>
Positive Correlator( {{ $corr->Corr }} )
@else
<div class="progress">
<div class="progress-bar large progress-bar-striped" role="progressbar" style="width: 100%;background-color:#EAB330;" aria-valuenow="10" aria-valuemin="0" aria-valuemax="100"></div>
<div class="progress-bar large progress-bar-striped" role="progressbar" style="width: 100%;background-color:#e9ecef;" aria-valuenow="10" aria-valuemin="0" aria-valuemax="100"></div>
</div>
Negative Correlator( {{ $corr->Corr }} )
@endif
</td>
@endif
@endforeach
</tr>
@endforeach
</table>
这是我的控制器代码:
$Correlations_list=Correlation::all();
return view('admin.members.Detailspage',compact('detail','Correlations_list'));
这是我的脚本:
$('#tablevar').DataTable({
"paging": true,
"lengthChange": false,
"searching": false,
"ordering": true,
"info": true,
"autoWidth": false,
"responsive": true,
});
有什么帮助吗?
在这种情况下您可以检查空值
@foreach(explode(', ', $detail->Topcorrelators) as $row)
@if(is_empty($row))
@continue;
@endif
// ... rest of your code
@endforeach;
这应该会跳过该空行并解决您的问题。您可以在此处找到更多信息:https://laravel.com/docs/5.4/blade#loops
我有一个 table 可以从数据库中获取数据。在这里,我使用两个不同的 table 来匹配记录,如果两个 table 数据都匹配,则相应地获取值。数据库中的值是“,”分隔的,我可以使用 explode 函数进行拆分。现在的问题是数据库中的每个元素都以“,”开头,并且 returns 第一行为空白。 现在,当我使用 Datatable 来显示数据时,排序在这里不起作用尝试了来自不同博客的太多解决方案,但对我来说没有任何效果。我猜是因为 returns 第一行空白排序不起作用。
这是我的观点:
<table id="tablevar" class="table table-sm">
<thead>
<tr>
<th>
Top Correlators
</th>
<th>
Positive/Negative Correlation
</th>
</tr>
</thead>
@foreach(explode(', ', $detail->Topcorrelators) as $row)
<tr>
<td>
{{ $row }}
</td>
@foreach($Correlations_list as $corr)
@if($corr->Variable == $row )
<td>
@if($corr->Corr > 0)
<div class="progress">
<div class="progress-bar large progress-bar-striped" role="progressbar" style="width: 100%;background-color:#e9ecef;" aria-valuenow="10" aria-valuemin="0" aria-valuemax="100"></div>
<div class="progress-bar progress-bar-striped" role="progressbar" style="width: 100%;background-color:#CA0088 " aria-valuenow="15" aria-valuemin="0" aria-valuemax="100"></div>
</div>
Positive Correlator( {{ $corr->Corr }} )
@else
<div class="progress">
<div class="progress-bar large progress-bar-striped" role="progressbar" style="width: 100%;background-color:#EAB330;" aria-valuenow="10" aria-valuemin="0" aria-valuemax="100"></div>
<div class="progress-bar large progress-bar-striped" role="progressbar" style="width: 100%;background-color:#e9ecef;" aria-valuenow="10" aria-valuemin="0" aria-valuemax="100"></div>
</div>
Negative Correlator( {{ $corr->Corr }} )
@endif
</td>
@endif
@endforeach
</tr>
@endforeach
</table>
这是我的控制器代码:
$Correlations_list=Correlation::all();
return view('admin.members.Detailspage',compact('detail','Correlations_list'));
这是我的脚本:
$('#tablevar').DataTable({
"paging": true,
"lengthChange": false,
"searching": false,
"ordering": true,
"info": true,
"autoWidth": false,
"responsive": true,
});
有什么帮助吗?
在这种情况下您可以检查空值
@foreach(explode(', ', $detail->Topcorrelators) as $row)
@if(is_empty($row))
@continue;
@endif
// ... rest of your code
@endforeach;
这应该会跳过该空行并解决您的问题。您可以在此处找到更多信息:https://laravel.com/docs/5.4/blade#loops