[英]Propel - check if column is autoincrement
在propel2
有没有一种方法可以检查列是否为autoincrement
? 我的假设是使用类似
$query = new UsersQuery();
$columns = $query->getTableMap()->getColumns();
foreach ($columns as $column) {
$column->isAutoIncrement(); //method does not exist
}
但是,在对getColumns
的结果进行迭代时,不存在实际检查该列是否为autoincrement
任何内容。 在这种情况下可以做什么?
默认值AUTO_INCREMENT
是特定于驱动程序的。 您不能期望有专用于此的方法。 在MySQL中可能是AUTOINCREMENT
,在PostgreSQL中可能是SEQUENCE
,等等。
我建议做的是找到主键,因为我希望您能搜索此列。
另一个解决方法是从迁移中获取CREATE TABLE代码并手动对其进行解析。 但是,没有内置方法。 即使执行getDefaultValue()
您也不会收到AUTO_INCREMENT
,但是该AUTO_INCREMENT
NULL
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.