在 cakephp 3 中获取记录时更改字段名称

Posted

技术标签:

【中文标题】在 cakephp 3 中获取记录时更改字段名称【英文标题】:Change fields name while fetching record in cakephp 3 【发布时间】:2016-10-07 07:12:22 【问题描述】:

我想更改字段名称并从数据库中获取记录 例如。

$query = $formsElements->find('all')
            ->where(['Forms.slug' => 'allergy'])
            ->contain(['Forms'=>['fields'=>['id', 'name']], 'Elements']);

以上是我的查询,在同一个查询中,我想将“id”字段的名称更改为 form_id。

请你们提出更好的方法来处理这个没有虚拟字段。

谢谢

【问题讨论】:

【参考方案1】:

你可以使用别名,manual

您可以通过提供字段来为字段设置别名 作为关联数组:

所以你要做的就是:

->contain([
    'Forms'=>[
        'fields'=>[
            'form_id' => 'id',
            'name'
        ]
    ], 
    'Elements'
]);

【讨论】:

以上是关于在 cakephp 3 中获取记录时更改字段名称的主要内容,如果未能解决你的问题,请参考以下文章

cakephp sluggable 字段在从“名称”更改为“标题”后不会显示在索引中

cakephp 3.x datetime字段比较查询中没有返回正确的结果

如何拦截CakePHP 3中的检索字段?

无法更改 CakePHP 2.3 中的默认错误消息

Cakephp 3.7 hasOne字段数据不保存

将 Paypal PHP sdk 与 Cakephp 3.x 集成