我正在使用Doctrine进行数据库抽象。现在我想从新创建的(和auto_increment
'd)对象中获取save()
主键 - 但$obj->toArray()
在调用{{1}后显示该字段为空}}
有没有我不知道的旗帜呢?或者我真的必须从数据库中查询对象吗?
答案 0 :(得分:3)
确保在setTableDefinition()
方法(或相关的YAML配置文件)中设置对象时设置了自动增量标记。如果未设置此标志,则Doctrine将不知道更新它。你应该有这样的东西:
$this->hasColumn('id', 'integer', 4, array(
'type' => 'integer',
'length' => 4,
'fixed' => false,
'unsigned' => true,
'primary' => true,
'autoincrement' => true //this flag right here
)
);
答案 1 :(得分:0)
在refresh
之前的记录实例上调用toArray
。