$image, 'preview' => $url, ]); } else { array_push($images, [ 'value' => $value, 'preview' => $value, ]); } } $data['images'] = $images; } return $data; } public function validate($data, $model = null) { $createRules = [ 'employee_id' => ['required'], 'name' => ['required'], ]; $updateRules = []; $validator = Validator::make($data, $model ? $updateRules : $createRules); if ($validator->fails()) { return $validator->errors()->first(); } return true; } public function update($primaryKey, $data): bool { $model = $this->query()->whereKey($primaryKey)->firstOrFail(); if (!$model->canUpdate()) { return $this->setError('审核中, 无法修改'); } $data = $this->resloveData($data, $model); $validate = $this->validate($data, $model); if ($validate !== true) { $this->setError($validate); return false; } $model->update($data); $this->currentModel = $model; return true; } public function delete(string $ids): mixed { $list = $this->query()->with(['workflow'])->whereIn('id', explode(',', $ids))->get(); foreach ($list as $item) { if (!$item->canUpdate()) { return $this->setError('审核中, 无法删除'); } $item->delete(); } return true; } }