From 1d5db12a272f049a882f4bf6da52094584b6ea78 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E4=BD=A0=E7=9A=84=E5=90=8D=E5=AD=97?= <你的邮箱>
Date: Wed, 8 Oct 2025 22:45:23 +0900
Subject: [PATCH] =?UTF-8?q?=E3=80=90=E5=B8=82=E5=8C=BA=E3=83=9E=E3=82=B9?=
=?UTF-8?q?=E3=82=BF=E3=80=91=E6=96=B0=E8=A6=8F=E3=80=81=E7=B7=A8=E9=9B=86?=
=?UTF-8?q?=E7=94=BB=E9=9D=A2=E4=BF=AE=E6=AD=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Http/Controllers/Admin/CityController.php | 42 +++---
.../views/admin/CityMaster/_form.blade.php | 67 +++++++---
.../views/admin/CityMaster/add.blade.php | 125 +++++++++++++++---
.../views/admin/CityMaster/edit.blade.php | 37 +++++-
.../views/admin/CityMaster/list.blade.php | 120 ++++++++++++-----
5 files changed, 305 insertions(+), 86 deletions(-)
diff --git a/app/Http/Controllers/Admin/CityController.php b/app/Http/Controllers/Admin/CityController.php
index 88e66c8..121eb8d 100644
--- a/app/Http/Controllers/Admin/CityController.php
+++ b/app/Http/Controllers/Admin/CityController.php
@@ -12,12 +12,9 @@ class CityController extends Controller
{
public function list(Request $request)
{
- $inputs = [
- 'isMethodPost' => $request->isMethod('post'),
- 'sort' => $request->input('sort', ''),
- 'sort_type' => $request->input('sort_type', ''),
- 'page' => $request->get('page', 1),
- ];
+ $sort = $request->input('sort', 'city_id');
+ $sortType = $request->input('sort_type', 'asc');
+ $page = $request->get('page', 1);
$query = City::query();
@@ -25,17 +22,28 @@ class CityController extends Controller
$query->where('city_name', 'like', '%' . $request->input('city_name') . '%');
}
- if (!empty($inputs['sort'])) {
- $query->orderBy($inputs['sort'], $inputs['sort_type'] ?? 'asc');
+ // 排序处理
+ if (!empty($sort)) {
+ $query->orderBy($sort, $sortType);
}
- $inputs['list'] = $query->paginate(20);
+ $list = $query->paginate(20);
- if ($inputs['list']->total() > 0 && $inputs['page'] > $inputs['list']->lastPage()) {
- return redirect()->route('city');
+ // 页码越界处理
+ if ($list->total() > 0 && $page > $list->lastPage()) {
+ return redirect()->route('city', [
+ 'sort' => $sort,
+ 'sort_type' => $sortType,
+ ]);
}
- return view('admin.CityMaster.list', $inputs);
+ return view('admin.CityMaster.list', [
+ 'isMethodPost' => $request->isMethod('post'),
+ 'sort' => $sort,
+ 'sort_type' => $sortType,
+ 'list' => $list,
+ 'page' => $page,
+ ]);
}
public function add(Request $request)
@@ -49,10 +57,10 @@ class CityController extends Controller
if ($request->isMethod('POST')) {
$rules = [
- 'city_name' => ['required', 'string', 'max:10', 'regex:/^[^ -~。-゚]+$/u'], // 全角のみ
- 'print_layout' => ['required', 'string', 'max:10', 'regex:/^[^ -~。-゚]+$/u'], // 全角のみ
- 'city_user' => ['required', 'string', 'max:10', 'regex:/^[^ -~。-゚]+$/u'], // 全角のみ
- 'city_remarks' => ['nullable', 'string', 'max:20'], // 全角半角可・任意
+ 'city_name' => ['required', 'string', 'max:10', 'regex:/^[^ -~。-゚]+$/u'],
+ 'print_layout' => ['required', 'string', 'max:10', 'regex:/^[^ -~。-゚]+$/u'],
+ 'city_user' => ['required', 'string', 'max:10', 'regex:/^[^ -~。-゚]+$/u'],
+ 'city_remarks' => ['nullable', 'string', 'max:20'],
];
$messages = [
'city_name.required' => '市区名は必須です。',
@@ -163,4 +171,4 @@ class CityController extends Controller
return redirect()->route('city')->with('error', __('削除に失敗しました。'));
}
}
-}
+}
\ No newline at end of file
diff --git a/resources/views/admin/CityMaster/_form.blade.php b/resources/views/admin/CityMaster/_form.blade.php
index fbcb27f..65cb0af 100644
--- a/resources/views/admin/CityMaster/_form.blade.php
+++ b/resources/views/admin/CityMaster/_form.blade.php
@@ -1,24 +1,53 @@
-
-
-
-
+@php
+ $city = $city ?? null;
+@endphp
-
-
-
-
+