<?php
/**
*
* DummyDisplayName
* author: {{$customKeys['author']}}
* created_at: {{ date('Y-m-d H:i:s') }}
*/
namespace App\Http\Controllers\Admin;
use App\Models\DummyClass;
use Illuminate\Http\Request;
use Illuminate\Http\JsonResponse;
use App\Http\Controllers\Controller;
use Illuminate\Database\Eloquent\Builder;
class DummyClassController extends Controller
{
public function index(Request $request): JsonResponse
{
$create_start_time = $request->get('create_start_time');
$create_end_time = $request->get('create_end_time');
@foreach($tableFields as $field)
@if($field['can_search'])
${{$field['field_name'] }} = $request->get('{{$field['field_name'] }}');
@endif
@endforeach
$data = DummyClass::orderByDesc('id')
@foreach($tableFields as $field)
@if($field['can_search'])
@if('numeric'==$field['rule'])
->when(${{$field['field_name'] }}, fn (Builder $query) => $query->where('{{$field['field_name'] }}', ${{$field['field_name'] }}))
@elseif('string'==$field['rule'])
->when(${{$field['field_name'] }}, fn (Builder $query) => $query->where('{{$field['field_name'] }}', 'like', "%${{$field['field_name'] }}%"))
@else
->when(${{$field['field_name'] }}, fn (Builder $query) => $query->where('{{$field['field_name'] }}', 'like', "%${{$field['field_name'] }}%"))
@endif
@endif
@endforeach
->when($create_start_time, fn (Builder $query) => $query->where('created_at', '>=', $create_start_time))
->when($create_end_time, fn (Builder $query) => $query->where('created_at', '<=', $create_end_time))
->paginate();
$data->getCollection()->transform(function (DummyClass $DummySnakeClass){
//$DummySnakeClass->setAttribute('id', 'ID');
return $DummySnakeClass;
});
return response()->json(['message' => 'success', 'errcode' => 0, 'data' => $data->toArray()]);
}
public function update(Request $request)
{
$id = (int)$request->get('id');
$DummySnakeClass = null;
if($id){
$DummySnakeClass = DummyClass::whereId($id)->first();
}
$data=$request->validate([
'id' => 'required|int',
@foreach($tableFields as $field)
@if('string'==$field['rule'] && false==$field['nullable'])
'{{$field['field_name'] }}' => 'required'
@endif
@endforeach
],[],[
'id' => 'ID',
@foreach($tableFields as $field)
@if('string'==$field['rule'] && false==$field['nullable'])
'{{$field['field_name'] }}' => '{{$field['field_display_name'] }}'
@endif
@endforeach
]);
if(!$DummySnakeClass){
$DummySnakeClass=new DummyClass();
}
$DummySnakeClass->fill($data);
if($DummySnakeClass->save()){
return response()->json(['message' => '保存成功', 'errcode' => 0, 'data' => []]);
}
return response()->json(['message' => '保存失败', 'errcode' => 1, 'data' => []]);
}
public function delete(Request $request)
{
$id = (int)$request->get('id');
$DummySnakeClass = DummyClass::whereId($id)->first();
if($DummySnakeClass && $DummySnakeClass->delete()){
return response()->json(['message' => '删除成功', 'errcode' => 0, 'data' => []]);
}
return response()->json(['message' => '删除失败', 'errcode' => 1, 'data' => []]);
}
}