where('board_id', $boardId) ->orderBy('order_index', 'ASC') ->findAll(); } /** * Получить следующий порядковый номер для колонки */ public function getNextOrderIndex(int $boardId): int { $max = $this->selectMax('order_index') ->where('board_id', $boardId) ->first(); return ($max['order_index'] ?? 0) + 1; } /** * Создать дефолтные колонки для новой доски */ public function createDefaultColumns(int $boardId): bool { $defaultColumns = [ [ 'board_id' => $boardId, 'name' => 'К выполнению', 'color' => '#6B7280', 'order_index' => 1, 'is_default' => 0, ], [ 'board_id' => $boardId, 'name' => 'В работе', 'color' => '#3B82F6', 'order_index' => 2, 'is_default' => 0, ], [ 'board_id' => $boardId, 'name' => 'На проверке', 'color' => '#F59E0B', 'order_index' => 3, 'is_default' => 0, ], [ 'board_id' => $boardId, 'name' => 'Завершено', 'color' => '#10B981', 'order_index' => 4, 'is_default' => 0, ], ]; return $this->insertBatch($defaultColumns); } }