&$item) { $item['title'] = match($item['type']) { CheckType::Job->value => CheckType::Job->text(), CheckType::User->value => CheckType::User->text(), }; $item['subTitle'] = match($item['type']) { CheckType::Job->value => Keyword::where('key', $item['job'])->value('name'), CheckType::User->value => Employee::where('id', $item['user'])->value('name'), }; $item['value'] = match($item['type']) { CheckType::Job->value => $item['job'], CheckType::User->value => $item['user'], }; $item['sort'] = $key + 1; } } return $data; } public function validate($data, $model = null) { $createRules = [ 'key' => ['required', Rule::unique('workflows', 'key')], 'name' => ['required'], ]; $updateRules = [ 'key' => [Rule::unique('workflows', 'key')->ignore($model?->id)] ]; $validator = Validator::make($data, $model ? $updateRules : $createRules, [ 'key.unique' => ':input 已经存在' ]); if ($validator->fails()) { return $validator->errors()->first(); } return true; } }