103 lines
3.1 KiB
PHP
103 lines
3.1 KiB
PHP
<?php
|
|
|
|
namespace App\Admin\Controllers;
|
|
|
|
use App\Models\Param;
|
|
use Illuminate\Http\Request;
|
|
use Validator;
|
|
|
|
class ParamController extends Controller
|
|
{
|
|
|
|
public function index(Request $request)
|
|
{
|
|
$title = $request->title;
|
|
$name = $request->name;
|
|
$orderField = $request->orderField;
|
|
$orderDirection = $request->orderDirection;
|
|
$numPerPage = $request->numPerPage ?: 30;
|
|
|
|
$params = Param::when($title, function ($query) use ($title) {
|
|
$query->where('title', 'like', "%{$title}%");
|
|
})->when($name, function ($query) use ($name) {
|
|
$query->where('name', 'like', "%{$name}%");
|
|
})->when($orderField, function ($query) use ($orderField, $orderDirection) {
|
|
$query->orderBy($orderField, $orderDirection);
|
|
})->paginate($numPerPage);
|
|
|
|
return view('Admin::params.index', compact('params'));
|
|
}
|
|
|
|
public function create()
|
|
{
|
|
return view('Admin::params.create');
|
|
}
|
|
|
|
public function store(Request $request)
|
|
{
|
|
$validator = Validator::make($request->all(), [
|
|
'title' => 'required|between:2,50',
|
|
'name' => 'required|between:2,50|unique:params',
|
|
'value' => 'required',
|
|
], [
|
|
'title.required' => '参数标题必须填写',
|
|
'title.between' => '参数标题长度:min-:max字符',
|
|
'name.required' => '调用名称必须填写',
|
|
'name.between' => '调用名称长度:min-:max字符',
|
|
'name.unique' => '调用名称已经存在',
|
|
'value.required' => '参数值必须填写',
|
|
]);
|
|
|
|
if ($validator->fails()) {
|
|
return $this->error($validator->errors()->first());
|
|
}
|
|
|
|
if (Param::create($request->all())) {
|
|
return $this->success('', 'close');
|
|
} else {
|
|
return $this->error();
|
|
}
|
|
}
|
|
|
|
public function edit(Param $param)
|
|
{
|
|
return view('Admin::params.edit', compact('param'));
|
|
}
|
|
|
|
public function update(Request $request, Param $param)
|
|
{
|
|
$validator = Validator::make($request->all(), [
|
|
'title' => 'required|between:2,50',
|
|
'name' => 'required|between:2,50',
|
|
'value' => 'required',
|
|
], [
|
|
'title.required' => '参数标题必须填写',
|
|
'title.between' => '参数标题长度:min-:max字符',
|
|
'name.required' => '调用名称必须填写',
|
|
'name.between' => '调用名称长度:min-:max字符',
|
|
'name.unique' => '调用名称已经存在',
|
|
'value.required' => '参数值必须填写',
|
|
]);
|
|
|
|
if ($validator->fails()) {
|
|
return $this->error($validator->errors()->first());
|
|
}
|
|
|
|
if ($param->update($request->all())) {
|
|
return $this->success('', 'close');
|
|
} else {
|
|
return $this->error();
|
|
}
|
|
|
|
}
|
|
|
|
public function destroy(Param $param)
|
|
{
|
|
if ($param->delete()) {
|
|
return $this->success();
|
|
} else {
|
|
return $this->error();
|
|
}
|
|
}
|
|
}
|