// +---------------------------------------------------------------------- declare (strict_types=1); namespace app\store\model; use app\common\model\Maintenance as MaintenanceModel; use think\model\relation\HasOne; /** * 文章模型 * Class Article * @package app\store\model */ class Maintenance extends MaintenanceModel { /** * 获取列表 * @param array $param * @return \think\Paginator * @throws \think\db\exception\DbException */ public function getList(array $param = []): \think\Paginator { // 查询参数 $params = $this->setQueryDefaultValue($param, [ 'name' => '', 'categoryId' => 0, 'status' => -1, ]); // 检索查询条件 $filter = []; !empty($params['name']) && $filter[] = ['name', 'like', "%{$params['name']}%"]; $params['status'] > -1 && $filter[] = ['status', '=', $params['status']]; $params['categoryId'] > 0 && $filter[] = ['category_id', '=', $params['categoryId']]; // 查询列表数据 $data = $this->where($filter)->with(['catImg']) ->where('is_delete', '=', 0) ->order(['sort' => 'asc', 'create_time' => 'desc']) ->paginate(15); return self::preload($data, ['category']); } /** * 新增记录 * @param array $data * @return bool */ public function add(array $data): bool { if (empty($data['name'])) { $this->error = '请输入保修名称'; return false; } /* if (($data['parent_id']) != 0) { if (empty($data['url'])) { $this->error = '请输地址'; return false; } } */ if (empty($data['img_id'])) { $this->error = '请上传维修图片'; return false; } $data['store_id'] = self::$storeId; return $this->save($data); } /** * 更新记录 * @param array $data * @return bool */ public function edit(array $data): bool { if (empty($data['name'])) { $this->error = '请输入保修名称'; return false; } if (empty($data['img_id'])) { $this->error = '请上传维修图片'; return false; } return $this->save($data) !== false; } /** * 软删除 * @return bool */ public function setDelete(): bool { return $this->save(['is_delete' => 1]); } public static function getTotal(array $where = []): int { return (new static)->where($where)->where('is_delete', '=', 0)->count(); } }