Kohana ORM没有return新增记录的主键

Kohana ORM does not return primary key of newly added record

Kohana ORM 中使用 PostgreSQL 的有趣问题案例。

情况是这样

$oM = ORM::factory('SomeModel');//Postgre SQL
//Column id is a primary key with some serial type
$oM->column = 'some value';
$oM->save();

var_dump($oM->id);//or $oM->pk();
//prints bool(true)

问题隐藏在序列权限中。作为极简权限设置的粉丝,我只为用户提供 table id 序列的 "update" 权限。

由于insert查询没有使用"Returning"语句,看来ORM读取的是之后的序列值。当这个权限没有设置时,它只是returns "true" 而不是一些警告或错误。