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 Excel发现不可读取的内容
  • ¥15 UE5#if WITH_EDITOR导致打包的功能不可用
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?
  • ¥15 电磁场的matlab仿真
  • ¥15 mars2d在vue3中的引入问题
  • ¥50 h5唤醒支付宝并跳转至向小荷包转账界面
  • ¥15 算法题:数的划分,用记忆化DFS做WA求调
  • ¥15 chatglm-6b应用到django项目中,模型加载失败
  • ¥15 CreateBitmapFromWicBitmap内存释放问题。