Files
biji/biji-php/src/Models/Grouping.php
ikmkj c50d96490d feat(api): 添加图片管理、回收站和系统设置功能
- 在 Grouping 模型和控制器中添加删除和更新方法
- 实现完整的图片上传、删除、预览和批量操作功能
- 添加图片清理功能用于删除冗余图片文件
- 实现 Markdown 文件按分组查询、搜索和标题更新功能
- 添加回收站功能支持软删除和恢复操作
- 实现系统设置和注册码生成功能
- 配置新的 API 路由包括图片、系统和回收站相关接口
- 更新前端开发服务器代理地址从 8084 到 80 端口
2026-01-26 09:48:31 +08:00

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]);
}
}