使用column.name而不是column.phpName推进集合
我想查询所有人,然后使用列名而不是phpName转换为关联数组。我知道在Php代码中,您应该始终使用phpName,但我试图优雅地将内容转储到使用snake_大小写的表单中。谢谢你的帮助 假设我的模式中有这个表:使用column.name而不是column.phpName推进集合,php,mysql,collections,schema,propel,Php,Mysql,Collections,Schema,Propel,我想查询所有人,然后使用列名而不是phpName转换为关联数组。我知道在Php代码中,您应该始终使用phpName,但我试图优雅地将内容转储到使用snake_大小写的表单中。谢谢你的帮助 假设我的模式中有这个表: <table name='person'> <column name='id' phpName='Id' /> <column name='first_name' phpName='FirstName' /> <column n
<table name='person'>
<column name='id' phpName='Id' />
<column name='first_name' phpName='FirstName' />
<column name='last_name' phpName='LastName' />
</table>
这将给我:
array(1) { [0]=>
array(3) {
["Id"]=> int(1)
["FirstName"]=> string("John")
["LastName"]=> string("Doe")
}
}
但我真的想要这个:
array(1) { [0]=>
array(3) {
["id"]=> int(1)
["first_name"]=> string("John")
["last_name"]=> string("Doe")
}
}
干杯 那么:
$people = PersonQuery::create()->find()->toArray(BasePeer::TYPE_FIELDNAME);
var_dump($people);
在file BasePersonPeer中查找其他选项,包括
translateFieldName($name,$fromType,$toType)
,这是另一种方法。我想这可能更适合推进论坛。谢谢!很抱歉反应太晚,但感谢您的反馈
$people = PersonQuery::create()->find()->toArray(BasePeer::TYPE_FIELDNAME);
var_dump($people);