Assuming that your User model has a field called "user_id" as the primary key, what happens if you try the following:
$user = \User::findFirstByUserId(1); // If you are searching on "id" instad of "user_id" replace with findFirstById(1)
if(!$user){
exit("User does not exist");
}
The first time I used User::findFirst($pk_value);
I had an issue with it so I always call the specific field using Model::findFirstByFieldName($pk_value)
and it has solved numerous issues I ran into.
Also, do you define your column map in the model? https://docs.phalcon.io/en/latest/reference/models.html#independent-column-mapping
If you don't use independent column mapping, I would recommend doing so. And if you don't already, you should look into Phalcon's DevTools as well. Invaluable tool for getting things up and running quickly and accurately