使用column.name而不是column.phpName推进集合

使用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

我想查询所有人,然后使用列名而不是phpName转换为关联数组。我知道在Php代码中,您应该始终使用phpName,但我试图优雅地将内容转储到使用snake_大小写的表单中。谢谢你的帮助

假设我的模式中有这个表:

<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);