Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG]: Wrong return type hint for Phalcon\Mvc\Model\MetaData::getColumnMap() and Phalcon\Mvc\Model\MetaData::getReverseColumnMap() #15015

Closed
sergeyklay opened this issue May 5, 2020 · 1 comment · Fixed by #15016
Assignees
Labels
bug A bug report status: low Low

Comments

@sergeyklay
Copy link
Contributor

Current return type hint of the Phalcon\Mvc\Model\MetaData::getColumnMap as well as Phalcon\Mvc\Model\MetaData::getReverseColumnMap implies that these methods must return an array value. But this method MAY return NULL for some cases:

public function getColumnMap(<ModelInterface> model) -> array
{
var data;
let data = this->readColumnMapIndex(model, self::MODELS_COLUMN_MAP);
if unlikely (data !== null && typeof data != "array") {
throw new Exception("The meta-data is invalid or is corrupt");
}
return data;
}

public function getReverseColumnMap(<ModelInterface> model) -> array
{
var data;
let data = this->readColumnMapIndex(
model,
self::MODELS_REVERSE_COLUMN_MAP
);
if unlikely (data !== null && typeof data != "array") {
throw new Exception("The meta-data is invalid or is corrupt");
}
return data;
}

This leads to a fatal error:

PHP Fatal error:
Return value of Phalcon\Mvc\Model\MetaData::getColumnMap()
must be of the type array, null returned in Unknown on line 0
@sergeyklay sergeyklay added bug A bug report status: unverified Unverified 4.0.6 status: low Low and removed status: unverified Unverified labels May 5, 2020
@sergeyklay sergeyklay self-assigned this May 5, 2020
sergeyklay added a commit that referenced this issue May 5, 2020
@sergeyklay sergeyklay linked a pull request May 5, 2020 that will close this issue
5 tasks
@sergeyklay
Copy link
Contributor Author

Fixed in 4.0.x branch

niden pushed a commit that referenced this issue May 16, 2020
@niden niden moved this to Released in Phalcon v5 Aug 25, 2022
@niden niden added this to Phalcon v5 Aug 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug A bug report status: low Low
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

1 participant