| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- <?php
- namespace App\Http\Controllers;
- use App\Http\Requests\StoreResponsibleRequest;
- use App\Models\Dictionary\Area;
- use App\Models\Responsible;
- use Illuminate\Http\Request;
- class ResponsibleController extends Controller
- {
- protected array $data = [
- 'active' => 'responsibles',
- 'title' => 'Ответственные',
- 'id' => 'responsibles',
- 'header' => [
- 'id' => 'ID',
- 'area-name' => 'Район',
- 'name' => 'ФИО',
- 'phone' => 'Телефон',
- 'created_at' => 'Дата создания'
- ],
- 'searchFields' => [
- 'name',
- 'phone',
- ],
- 'ranges' => [],
- 'filters' => [],
- ];
- public function __construct()
- {
- $this->data['areas'] = Area::query()->get()->pluck('name', 'id');
- }
- public function index(Request $request)
- {
- $model = new Responsible;
- // $this->data['ranges'] = [];
- // $this->createFilters($model, 'area-name');
- $this->createDateFilters($model, 'created_at');
- $q = $model::query();
- $this->acceptFilters($q, $request);
- $this->acceptSearch($q, $request);
- $this->setSortAndOrderBy($model, $request);
- $q->orderBy($this->data['sortBy'], $this->data['orderBy']);
- $this->data['responsibles'] = $q->paginate()->withQueryString();
- return view('responsibles.index', $this->data);
- }
- public function store(StoreResponsibleRequest $request)
- {
- $responsible = Responsible::query()->create($request->validated());
- Area::query()->where('id', $request->validated('area_id'))->update(['areas.responsible_id' => $responsible->id]);
- return redirect()->route('responsible.index');
- }
- public function update(StoreResponsibleRequest $request, Responsible $responsible)
- {
- }
- public function destroy()
- {
- }
- }
|