helper类中的php列排序方法在一个表上工作,但在同一个应用程序中不在另一个表上工作

dojqjjoe  于 2021-06-17  发布在  Mysql
关注(0)|答案(0)|浏览(303)

试图找出为什么这个(我认为很简单的)功能不起作用。
快速背景,这个应用程序是由另一家公司和我已被带到作出一些改变的用户界面和一些功能。我一直在学习这个系统,以及它同时构建的框架(laravel5.1)。整个过程都在码头集装箱里进行。
表帮助程序类

<?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>';
}
}

太好了,你在需要的地方调用它,它会弹出一个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是新的我。
提前谢谢!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题