'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() { } }