getTableColumns(); $model = $this->getModel(); $data['avatar'] = $this->saveImage('avatar', 'manages/avatar')[0] ?? ''; foreach ($data as $k => $v) { if (!in_array($k, $columns)) { continue; } $model->setAttribute($k, $v); } try{ DB::beginTransaction(); $model->save(); $model->jobs()->createMany($data['jobs']); $model->ranks()->createMany($data['ranks']); $model->projects()->createMany($data['projects']); $model->articles()->createMany($data['articles']); $model->consults()->createMany($data['consults']); $model->meetings()->createMany($data['meetings']); $model->socials()->createMany($data['socials']); DB::commit(); }catch(\Throwable $th){ DB::rollBack(); report($th); return false; } return true; } public function update($primaryKey, $data): bool { $columns = $this->getTableColumns(); $model = $this->query()->whereKey($primaryKey)->first(); if(isset($data['avatar'])){ $data['avatar'] = $this->saveImage('avatar', 'manages/cover')[0] ?? ''; } foreach ($data as $k => $v) { if (!in_array($k, $columns)) { continue; } $model->setAttribute($k, $v); } try{ DB::beginTransaction(); $model->save(); $model->jobs()->delete(); $model->jobs()->createMany($data['jobs']); $model->ranks()->delete(); $model->ranks()->createMany($data['ranks']); $model->projects()->delete(); $model->projects()->createMany($data['projects']); $model->articles()->delete(); $model->articles()->createMany($data['articles']); $model->consults()->delete(); $model->consults()->createMany($data['consults']); $model->meetings()->delete(); $model->meetings()->createMany($data['meetings']); $model->socials()->delete(); $model->socials()->createMany($data['socials']); DB::commit(); }catch(\Throwable $th){ dd($th); DB::rollBack(); report($th); return $this->setError('系统错误,请刷新后重试'); } return true; } }