save($data); } /** * @notes:编辑 * @param $data * @return bool * @author: wanghousheng */ public function edit($data): bool { // 是否删除图片 !isset($data['image_id']) && $data['image_id'] = 0; return $this->save($data) !== false; } /** * @notes:删除 * @param array $recoveryId * @return bool * @author: wanghousheng */ public function remove(array $recoveryId): bool { return static::whereIn('server_id', $recoveryId)->delete(); } /** * 修改回收状态 * @param array $recoveryIds 商品id集 * @param bool $state 为true表示上架 * @return bool|false */ public function setStatus(array $recoveryIds, bool $state): bool { // 批量更新记录 return static::updateBase(['status' => $state ? 1 : 2], [['recovery_id', 'in', $recoveryIds]]); } public function getDetail(int $recoveryId) { return static::detail($recoveryId, ['image', 'category']); } public static function deleteRecoveryId($data, bool $force = false) { // 传入空值(包括空字符串和空数组)的时候不会做任何的数据删除操作,但传入0则是有效的 if (empty($data) && 0 !== $data) { return false; } $model = (new static()); $query = $model->db(false); // 仅当强制删除时包含软删除数据 if ($force) { $query->removeOption('soft_delete'); } if (is_array($data) && key($data) !== 0) { $query->where($data); $data = null; } elseif ($data instanceof \Closure) { call_user_func_array($data, [&$query]); $data = null; } elseif (is_null($data)) { return false; } $resultSet = $query->select($data); foreach ($resultSet as $result) { /** @var Model $result */ $result->force($force)->delete(); } return true; } }