Collections/fix_db.php

25 lines
702 B
PHP

<?php
require __DIR__ . '/vendor/autoload.php';
require __DIR__ . '/config.php';
use App\Database;
use App\Models\Category;
$db = Database::getInstance();
$categories = Category::getAll($db);
foreach ($categories as $cat) {
$path = Category::getFullPath($db, $cat['id']);
if (strpos($path, '[Circular]') !== false) {
echo "Circular reference found for category {$cat['id']}: {$cat['name']}\n";
// Reset parent_id to null
$stmt = $db->prepare('UPDATE categories SET parent_id = NULL WHERE id = :id');
$stmt->execute([':id' => $cat['id']]);
echo "Fixed by setting parent_id to NULL\n";
}
}
echo "Done checking and fixing circular references.\n";