modelName::query()->valid()->whereIn('type', [11, 12]); } public function store($data): bool { $columns = $this->getTableColumns(); $model = $this->getModel(); $data['avatar'] = $this->saveImage('avatar', 'persons/avatar')[0] ?? ''; foreach ($data as $k => $v) { if (!in_array($k, $columns)) { continue; } $model->setAttribute($k, $v); } return $model->save(); } public function update($primaryKey, $data): bool { $columns = $this->getTableColumns(); $model = $this->query()->whereKey($primaryKey)->first(); if(isset($data['avatar'])){ $data['avatar'] = $this->saveImage('avatar', 'persons/avatar')[0] ?? ''; } foreach ($data as $k => $v) { if (!in_array($k, $columns)) { continue; } $model->setAttribute($k, $v); } return $model->save(); } /** * 软删除 * * @param string $ids * * @return mixed */ public function delete(string $ids): mixed { return $this->query()->whereIn($this->primaryKey(), explode(',', $ids))->update(['valid'=> 0]); } }