0 ? count($splitIds) : 1; flash('error', '已记一笔,按 ' . $n . ' 人分摊'); } else { flash('error', (string)$result['error']); } redirect('nodes/show', ['id' => (int)$node['id']], 'expenses'); } public function destroy(): void { csrf_check(); $id = (int)($_POST['id'] ?? 0); $stmt = Database::get()->prepare(' SELECT e.id, tn.id AS node_id FROM expenses e JOIN trip_nodes tn ON tn.id = e.trip_node_id JOIN activities a ON a.id = tn.activity_id WHERE e.id = ? AND a.family_id = ?'); $stmt->execute([$id, Access::familyId()]); $row = $stmt->fetch(); if (!$row) { http_response_code(404); exit('花销记录不存在'); } Expenses::delete($id); flash('error', '已删除这笔花销'); redirect('nodes/show', ['id' => (int)$row['node_id']], 'expenses'); } }