Kyslik/column-sortable in laravel 10

Kyslik/column-sortable in laravel 10

提问人:Execss 提问时间:9/12/2023 最后编辑:ShadowExecss 更新时间:9/13/2023 访问量:100

问:

我在 laravel 10 中有带有 kyslik/column-sortable 的项目。 当我得到路线时:

Route::get("/test", [searchEngineController::class, 'sort']);

在 searchEngineController::sort 中:

 public function sort() {
        $products = Products::sortable()->paginate(5);
        return view('test', compact('products'));
    }

并认为:

<table class="table table-bordered">
   <tr>
      <th width="80px">@sortablelink('id')</th>
      <th>@sortablelink('Name')</th>
      <th>@sortablelink('Second_data')</th>
   </tr>
      @foreach($products as $key => $product)
   <tr>
      <td>{{ $product->id }}</td>
      <td>{{ $product->name }}</td>
      <td>{{ $product->second_data }}</td>
   </tr>
      @endforeach
   <table>

一切正常 - 当我单击@sortable链接时,它会排序。

但是,当我在视图中<表单并将其发送到 POST 路由时,我从 DB 获取数据,并压缩搜索数据以查看:

 public function sort2(Request $request) {
        $products = Products::sortable()
            ->where("col", 'like', '%'.$request->search.'%')
            ->paginate(5)
        return view('test', compact('products'));
    }

,然后单击“@sortablelink”。它返回: 路由 >>route-Name<< 不支持 GET 方法。支持的方法:POST。

如何做到这一点,在邮政路线上工作?

拉拉维尔 jquery-ui-sortable

评论


答:

0赞 Mohamed AOUAM 9/12/2023 #1

我从未使用过 kyslik/column-sortable,但在出现错误后,您可以创建一个 get 路由,该路由使用相同的 URL 执行与 POST 相同的工作

Route::get("/test", [searchEngineController::class, 'sort']);
Route::post("/test", [searchEngineController::class, 'sort2']);

希望我的想法会有所帮助

0赞 Lajos Arpad 9/13/2023 #2

您可以将路由更改为 POST,例如:

Route::post("/test", [searchEngineController::class, 'sort']);