user()->isClient(), 403); $this->priorityId = (string) Priority::query()->where('level', 2)->value('id'); } public function save(RequestService $requestService) { $this->validate([ 'title' => ['required', 'string', 'max:255'], 'description' => ['required', 'string'], 'typeId' => ['required', 'exists:request_types,id'], 'priorityId' => ['required', 'exists:priorities,id'], 'equipmentId' => ['nullable', 'exists:equipment,id'], ]); $statusId = (string) Status::query()->where('slug', StatusSlug::NEW->value)->value('id'); $request = $requestService->create([ 'title' => $this->title, 'description' => $this->description, 'type_id' => $this->typeId, 'priority_id' => $this->priorityId, 'status_id' => $statusId, 'client_id' => auth()->id(), 'equipment_id' => $this->equipmentId ?: null, 'assigned_to' => null, ], auth()->user()); session()->flash('success', 'Заявка создана.'); return redirect()->route('my-requests.show', $request); } public function render() { return view('livewire.my-requests.my-request-form-page', [ 'types' => RequestType::query()->orderBy('name')->get(), 'equipmentItems' => Equipment::query()->where('client_id', auth()->id())->orderBy('name')->get(), 'priorities' => Priority::query()->orderBy('level')->get(), ])->title('Создание заявки'); } }