试图弄清楚为什么这种功能(我认为很简单)不起作用。
快速了解背景,此应用是由另一家公司制作的,我被带来对ui和功能进行一些更改。我一直在学习该系统以及它同时建立的框架(Laravel 5.1)。整个事情都在docker容器中运行。
表助手类
<?php
namespace App\Helpers;
use Illuminate\Support\Facades\Log;
class TableHelper {
public static function uriColumnSorter($label, $sort, $color = '#758292') {
$str = \Request::url();
//get the variables in the url e.g. sort: col name, direction: asc
$data = \Input::all();
//if there is a _url var in the url, unset it
if (isset($data['_url'])) {
unset($data['_url']);
}
//the column to sort, set to the param passed in
$data['sort'] = $sort;
//Either set to desc if direction already exists and is asc, or set to asc
$direction = $data['direction'] = (isset($data['direction']) && $data['direction'] == 'asc') ? 'desc' : 'asc';
//build query out of the data array if it has values
if (count($data) > 0) {
$str .= '?' . http_build_query($data);
}
//throw an a tag back with a link with the sorted query
echo '<a href="' . $str . '" style="color: ' . $color . '">' . $label . ' <i class="fa fa-sort-alpha-' . $direction . '" aria-hidden="true" style="margin-left: 12px;"></i></a>';
}
}
太好了,您在需要的地方调用它,它会弹出一个标记,该标记根据列对表进行排序。这是排序在其中起作用的一个实例
<table class="table table-striped">
<thead>
<tr>
<th class="col-md-3">{{ \App\Helpers\TableHelper::uriColumnSorter('Col Label', 'model.value_wanted') }}</th>
<th>Another Col</th>
<th>Last Col</th>
...
看起来很直接,它的示例无法正常工作,它的表具有相同的布局,并且我以完全相同的方式放置了helper方法调用,只是交换了数据名称。
该函数调用,并且表头中的排序链接在那里并且可以单击。它只是不会改变排序。
有什么可以阻止它起作用?是否需要指示该列可在模型中的某个地方排序?还是docker需要强制更新?不会这样,因为该方法可以执行,但是我不确定docker对我来说是新的。
提前谢谢!