{"record":{"id":"7d6e6225493c39d7","repo":"phalcon/cphalcon","slug":"parameter-cursorcolumn-must-be-a-non-empty-strin","errorCode":null,"errorMessage":"Parameter 'cursorColumn' must be a non-empty string","messagePattern":"Parameter 'cursorColumn' must be a non-empty string","errorType":"exception","errorClass":"Phalcon\\Paginator\\Exceptions\\InvalidCursorColumn","httpStatus":null,"severity":"error","filePath":"phalcon/Paginator/Adapter/QueryBuilderCursor.zep","lineNumber":114,"sourceCode":"\n        if unlikely !isset config[\"limit\"] {\n            throw new MissingRequiredParameter(\"limit\");\n        }\n\n        if unlikely !fetch builder, config[\"builder\"] {\n            throw new MissingRequiredParameter(\"builder\");\n        }\n\n        if unlikely !(builder instanceof Builder) {\n            throw new InvalidBuilderInstance();\n        }\n\n        if unlikely !fetch cursorColumn, config[\"cursorColumn\"] {\n            throw new MissingRequiredParameter(\"cursorColumn\");\n        }\n\n        if unlikely typeof cursorColumn != \"string\" || empty cursorColumn {\n            throw new InvalidCursorColumn();\n        }\n\n        let this->cursorColumn = cursorColumn;\n\n        if fetch cursor, config[\"cursor\"] {\n            let this->cursor = cursor;\n        }\n\n        parent::__construct(config);\n\n        this->setQueryBuilder(builder);\n    }\n\n    /**\n     * Get the current page number\n     *\n     * Returns the cursor value used for this page cast to int, or 0 for the\n     * first page. Use getCursor() to retrieve the raw cursor value.","sourceCodeStart":96,"sourceCodeEnd":132,"githubUrl":"https://github.com/phalcon/cphalcon/blob/b7419de9cd0a8a3f48441ead84c9f8415d463e25/phalcon/Paginator/Adapter/QueryBuilderCursor.zep#L96-L132","documentation":"Error \"Parameter 'cursorColumn' must be a non-empty string\" thrown in phalcon/cphalcon.","triggerScenarios":"Thrown at phalcon/Paginator/Adapter/QueryBuilderCursor.zep:114 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"b7419de9cd0a8a3f48441ead84c9f8415d463e25","analyzedAt":"2026-08-21T06:21:18.811Z","schemaVersion":2},"datasetVersion":"2026-08-21T11:28:35.574Z"}