We are moving our forum in GitHub Discussions. For questions about Phalcon v3/v4 you can visit here and for Phalcon v5 here.

Primary Key other then an integer

Hi All,

I use PostgreSQL as my database. In there I have a table where the primary key is defined with a custom datatype (UUID). What do I need to do in order to use Phalcon Models like any other model where the PK is defined as an (identity) integer?

Table definition (simplified):

CREATE TABLE quizzes.questions
              id       UUID PRIMARY KEY DEFAULT uuid_generate_v1mc()      
            , explanation        text null               
        WITH (

PHP Class definition (simplified):


use Phalcon\Mvc\Model;

class Question extends Model  

    public function initialize()

    } // initialize

    protected $id;

    public function getId()
        return $this->id;

    } // getId()

    protected $explanation;

    public function getExplanation(): string
        return (string)$this->explanation;

    } // getExplanation()

    public function setExplanation(string $explanation): self
        $this->explanation = $explanation;
        return $this;

    } // setExplanation()

} // end class

Now i like do do something like:

        $uuid = '1037ceac-00db-11e7-961f-9f19950084ca';
        $question = Question::findFirst($uuid);

This give me the following error: Phalcon\Mvc\Model\Exception: Column '1037ceac' doesn't belong to any of the selected models (1), when preparing: SELECT [Question].* FROM [Question] WHERE 1037ceac-00db-11e7-961f-9f19950084ca LIMIT :APL0:

Thanks in advance Rob


Hi, try this


 $question = Question::findFirstById($uuid);



Yes this works!, Thanks man.