validate([ 'name' => 'required|string|max:100', 'icon' => 'required|string|in:'.implode(',', Room::ICON_CHOICES), ]); Room::create([ 'name' => $this->name, 'icon' => $this->icon, 'sort' => (int) (Room::max('sort') ?? 0) + 1, ]); $this->closeModal(); return redirect()->route('rooms.index'); } public function render() { return view('livewire.modals.create-room'); } }