【发布时间】:2019-09-04 15:42:56
【问题描述】:
我在 Postgres 中有一张像这样的 DDL 表:
CREATE TABLE robots(
robot_id INTEGER NOT NULL CONSTRAINT robot_id_pkey PRIMARY KEY,
name TEXT
);
我知道我可以使用以下 SQL 语句插入记录:
INSERT INTO robots (robot_id, name) VALUES (nextval('robots_seq'), 'WALL-E');
我需要在 Phalcon 中为此表进行 CRUD 操作。我也想使用 ORM 功能。
所以我这样做:
$robot = new Robots();
$robot->setRobotId(new \Phalcon\Db\RawValue("nextval('robots_seq')"));
$robot->setName('WALL-E');
$robot->save();
并得到以下异常:
Uncaught PDOException: SQLSTATE[22P02]: Invalid text representation:
7 ERROR: invalid input syntax for integer: 'nextval('robots_seq')';
有没有办法做到这一点?
【问题讨论】:
标签: php postgresql phalcon