Skip to content

Commit d7245c2

Browse files
authored
Merge pull request #5 from digitalsign/master
修复 #1 路由缓存报错的问题
2 parents 6fc0af7 + f6da0ed commit d7245c2

File tree

2 files changed

+44
-34
lines changed

2 files changed

+44
-34
lines changed

routes/web.php

+1-34
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,3 @@
11
<?php
22

3-
Route::post('_grid-sortable_', function (\Illuminate\Http\Request $request) {
4-
5-
$sorts = $request->get('_sort');
6-
7-
$sorts = collect($sorts)
8-
->pluck('key')
9-
->combine(
10-
collect($sorts)->pluck('sort')->sort()
11-
);
12-
13-
$status = true;
14-
$message = trans('admin.save_succeeded');
15-
$modelClass = $request->get('_model');
16-
17-
try {
18-
/** @var \Illuminate\Database\Eloquent\Collection $models */
19-
$models = $modelClass::find($sorts->keys());
20-
21-
foreach ($models as $model) {
22-
23-
$column = data_get($model->sortable, 'order_column_name', 'order_column');
24-
25-
$model->{$column} = $sorts->get($model->getKey());
26-
$model->save();
27-
}
28-
29-
} catch (Exception $exception) {
30-
$status = false;
31-
$message = $exception->getMessage();
32-
}
33-
34-
return response()->json(compact('status', 'message'));
35-
36-
})->name('laravel-admin-grid-sortable');
3+
Route::post('_grid-sortable_', '\Encore\Admin\GridSortable\Controllers\GridSortableController@sort')->name('laravel-admin-grid-sortable');
+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<?php
2+
3+
namespace Encore\Admin\GridSortable\Controllers;
4+
5+
use Exception;
6+
use Illuminate\Http\Request;
7+
use Illuminate\Routing\Controller;
8+
9+
class GridSortableController extends Controller
10+
{
11+
public function sort(Request $request)
12+
{
13+
$sorts = $request->get('_sort');
14+
15+
$sorts = collect($sorts)
16+
->pluck('key')
17+
->combine(
18+
collect($sorts)->pluck('sort')->sort()
19+
);
20+
21+
$status = true;
22+
$message = trans('admin.save_succeeded');
23+
$modelClass = $request->get('_model');
24+
25+
try {
26+
/** @var \Illuminate\Database\Eloquent\Collection $models */
27+
$models = $modelClass::find($sorts->keys());
28+
29+
foreach ($models as $model) {
30+
31+
$column = data_get($model->sortable, 'order_column_name', 'order_column');
32+
33+
$model->{$column} = $sorts->get($model->getKey());
34+
$model->save();
35+
}
36+
} catch (Exception $exception) {
37+
$status = false;
38+
$message = $exception->getMessage();
39+
}
40+
41+
return response()->json(compact('status', 'message'));
42+
}
43+
}

0 commit comments

Comments
 (0)