'required|string|max:30', 'value' => 'required|string|max:50', 'description' => 'required|string|max:100', 'active' => 'required', 'detail' => 'required', 'pageCode' => 'required|array|min:1', ]; public function mount($editPid) { $parameter = ConfParameter::where('PID', $editPid)->firstOrFail(); $this->parameterId = $parameter->PID; $this->name = $parameter->name; $this->value = $parameter->value; $this->description = $parameter->description; $this->active = $parameter->active; $parameterInfo = TabParameterInfo::where('parameterName', $parameter->name)->first(); if ($parameterInfo) { $this->detail = $parameterInfo->detail; $this->pageCode = explode(',', $parameterInfo->pageCode); } else { $this->detail = ''; $this->pageCode = []; } $this->searchByPage = TabSpnpage::select('pagecode', 'pagename')->get()->toArray(); } public function updateParameter() { $this->validate(); ConfParameter::where('PID', $this->parameterId)->update([ 'name' => $this->name, 'value' => $this->value, 'description' => $this->description, 'active' => $this->active, ]); $pageCodesString = implode(',', $this->pageCode); $parameterInfo = TabParameterInfo::where('parameterName', ConfParameter::where('PID', $this->parameterId)->value('name'))->first(); if ($parameterInfo) { $parameterInfo->update([ 'parameterName' => $this->name, // อัปเดตชื่อด้วย 'pageCode' => $pageCodesString, 'detail' => $this->detail, ]); } else { TabParameterInfo::create([ 'parameterName' => $this->name, 'pageCode' => $pageCodesString, 'detail' => $this->detail, ]); } session()->flash('message', 'Parameter updated successfully!'); $this->emit('loadPage', 'list'); } public function render() { return view('livewire.pages.parameter.parameter-edit'); } }