74 lines
2.3 KiB
PHP
74 lines
2.3 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Admin;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use Illuminate\Http\Request;
|
|
use App\Models\Psection;
|
|
|
|
class PsectionController extends Controller
|
|
{
|
|
// 一覧画面
|
|
public function list(Request $request)
|
|
{
|
|
// ソート順
|
|
$sort = $request->input('sort', 'psection_id');
|
|
$sort_type = $request->input('sort_type', 'asc');
|
|
|
|
$query = Psection::query();
|
|
if (in_array($sort, ['psection_id', 'psection_subject'])) {
|
|
$query->orderBy($sort, $sort_type);
|
|
}
|
|
|
|
$list = $query->get();
|
|
|
|
return view('admin.psection.list', compact('list', 'sort', 'sort_type'));
|
|
}
|
|
|
|
// 新規追加
|
|
public function add(Request $request)
|
|
{
|
|
if ($request->isMethod('post')) {
|
|
$validated = $request->validate([
|
|
'psection_id' => 'required|integer|unique:psection,psection_id',
|
|
'psection_subject' => 'required|string|max:255',
|
|
]);
|
|
Psection::create($validated);
|
|
return redirect()->route('psection')->with('success', '車種区分を追加しました');
|
|
}
|
|
return view('admin.psection.add');
|
|
}
|
|
|
|
// 編集
|
|
public function edit(Request $request, $id)
|
|
{
|
|
$psection = Psection::findOrFail($id);
|
|
if ($request->isMethod('post')) {
|
|
$validated = $request->validate([
|
|
'psection_subject' => 'required|string|max:255',
|
|
]);
|
|
$psection->update($validated);
|
|
return redirect()->route('psection')->with('success', '車種区分を更新しました');
|
|
}
|
|
return view('admin.psection.edit', compact('psection'));
|
|
}
|
|
|
|
// 詳細(info)
|
|
public function info(Request $request, $id)
|
|
{
|
|
$psection = Psection::findOrFail($id);
|
|
return view('admin.psection.info', compact('psection'));
|
|
}
|
|
|
|
// 削除
|
|
public function delete(Request $request)
|
|
{
|
|
$ids = $request->input('pk', []);
|
|
if (!empty($ids)) {
|
|
Psection::whereIn('psection_id', $ids)->delete();
|
|
return redirect()->route('psection')->with('success', '削除しました');
|
|
}
|
|
return redirect()->route('psection')->with('error', '削除対象を選択してください');
|
|
}
|
|
}
|