duanhe0817825 2013-09-23 16:09 采纳率: 100%
浏览 7
已采纳

使用column.name而不是column.phpName进行Propel Collection

I want to query all persons and then convert to an associative array using the column name rather than the phpName. I know that within Php code, you should always the phpName but I'm trying to elegantly dump the contents into a form which uses snake_case. Thanks for the help.

Lets say I have this table in my schema:

<table name='person'>
  <column name='id' phpName='Id' /> 
  <column name='first_name' phpName='FirstName' /> 
  <column name='last_name' phpName='LastName' /> 
</table>

and I have the below query:

$people = PersonQuery::create()->find()->toArray();
var_dump($people);

This will give me:

array(1) { [0]=> 
    array(3) { 
        ["Id"]=> int(1) 
        ["FirstName"]=> string("John") 
        ["LastName"]=> string("Doe") 
    } 
} 

but I really want this:

array(1) { [0]=> 
    array(3) { 
        ["id"]=> int(1) 
        ["first_name"]=> string("John") 
        ["last_name"]=> string("Doe") 
    } 
} 

Cheers!

  • 写回答

1条回答 默认 最新

  • dongwo2772 2013-11-12 17:04
    关注

    How about:

    $people = PersonQuery::create()->find()->toArray(BasePeer::TYPE_FIELDNAME);
    var_dump($people);
    

    Look in the file BasePersonPeer for other options, including translateFieldName($name, $fromType, $toType) which is another way of doing it.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog