- 在 Grouping 模型和控制器中添加删除和更新方法 - 实现完整的图片上传、删除、预览和批量操作功能 - 添加图片清理功能用于删除冗余图片文件 - 实现 Markdown 文件按分组查询、搜索和标题更新功能 - 添加回收站功能支持软删除和恢复操作 - 实现系统设置和注册码生成功能 - 配置新的 API 路由包括图片、系统和回收站相关接口 - 更新前端开发服务器代理地址从 8084 到 80 端口
66 lines
1.8 KiB
PHP
66 lines
1.8 KiB
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use App\Utils\Database;
|
|
use PDO;
|
|
|
|
class Grouping
|
|
{
|
|
private $db;
|
|
|
|
public function __construct()
|
|
{
|
|
$this->db = Database::getInstance()->getConnection();
|
|
}
|
|
|
|
public function getAll($parentId = null)
|
|
{
|
|
if ($parentId === null) {
|
|
$stmt = $this->db->prepare("SELECT * FROM `grouping` WHERE is_deleted = 0 ORDER BY id");
|
|
} else {
|
|
$stmt = $this->db->prepare("SELECT * FROM `grouping` WHERE parentId = ? AND is_deleted = 0 ORDER BY id");
|
|
$stmt->execute([$parentId]);
|
|
return $stmt->fetchAll();
|
|
}
|
|
$stmt->execute();
|
|
return $stmt->fetchAll();
|
|
}
|
|
|
|
public function findById($id)
|
|
{
|
|
$stmt = $this->db->prepare("SELECT * FROM `grouping` WHERE id = ? AND is_deleted = 0");
|
|
$stmt->execute([$id]);
|
|
return $stmt->fetch();
|
|
}
|
|
|
|
public function create($grouping, $parentId = 0)
|
|
{
|
|
$stmt = $this->db->prepare("INSERT INTO `grouping` (`grouping`, parentId) VALUES (?, ?)");
|
|
$stmt->execute([$grouping, $parentId]);
|
|
return $this->db->lastInsertId();
|
|
}
|
|
|
|
public function update($id, $grouping)
|
|
{
|
|
$stmt = $this->db->prepare("UPDATE `grouping` SET `grouping` = ? WHERE id = ?");
|
|
return $stmt->execute([$grouping, $id]);
|
|
}
|
|
|
|
public function delete($id)
|
|
{
|
|
$stmt = $this->db->prepare(
|
|
"UPDATE `grouping` SET is_deleted = 1, deleted_at = NOW() WHERE id = ?"
|
|
);
|
|
return $stmt->execute([$id]);
|
|
}
|
|
|
|
public function softDelete($id, $userId)
|
|
{
|
|
$stmt = $this->db->prepare(
|
|
"UPDATE `grouping` SET is_deleted = 1, deleted_at = NOW(), deleted_by = ? WHERE id = ?"
|
|
);
|
|
return $stmt->execute([$userId, $id]);
|
|
}
|
|
}
|