修正競賽團隊編輯、個人賽顯示、團體賽顯示 bug

This commit is contained in:
2025-09-20 22:44:21 +08:00
parent c5bbec5ca8
commit 049b53fa43
15 changed files with 480 additions and 85 deletions

View File

@@ -52,11 +52,15 @@ export async function GET(request: NextRequest) {
// 獲取所有活躍的應用,編輯團隊時顯示所有應用(包括已綁定的)
// 使用 is_active = 1 因為數據庫中存儲的是數字 1
// 與 users 表 JOIN 獲取創建者姓名
let sql = `
SELECT id, name, description, category, type, icon, icon_color, app_url, creator_id, team_id
FROM apps
WHERE is_active = 1
ORDER BY created_at DESC
SELECT a.id, a.name, a.description, a.category, a.type, a.icon, a.icon_color, a.app_url,
a.creator_id, a.team_id, a.created_at as submissionDate,
u.name as creator_name
FROM apps a
LEFT JOIN users u ON a.creator_id = u.id
WHERE a.is_active = 1
ORDER BY a.created_at DESC
`;
const params: any[] = [];
@@ -72,17 +76,17 @@ export async function GET(request: NextRequest) {
console.log('⚠️ 沒有找到 is_active = 1 的應用,嘗試其他查詢條件...');
// 嘗試 is_active = TRUE
const sqlTrue = sql.replace('WHERE is_active = 1', 'WHERE is_active = TRUE');
const sqlTrue = sql.replace('WHERE a.is_active = 1', 'WHERE a.is_active = TRUE');
const appsTrue = await db.query(sqlTrue, params);
console.log('📊 is_active = TRUE 查詢結果:', appsTrue.length, '個應用');
// 嘗試 is_active = '1'
const sqlString = sql.replace('WHERE is_active = 1', 'WHERE is_active = "1"');
const sqlString = sql.replace('WHERE a.is_active = 1', 'WHERE a.is_active = "1"');
const appsString = await db.query(sqlString, params);
console.log('📊 is_active = "1" 查詢結果:', appsString.length, '個應用');
// 嘗試沒有 is_active 條件
const sqlNoFilter = sql.replace('WHERE is_active = 1', 'WHERE 1=1');
const sqlNoFilter = sql.replace('WHERE a.is_active = 1', 'WHERE 1=1');
const appsNoFilter = await db.query(sqlNoFilter, params);
console.log('📊 無 is_active 過濾查詢結果:', appsNoFilter.length, '個應用');