CakePHP 3 中的大写相关对象

Uppercase related objects in CakePHP 3

我将 CakePHP 与带有插件 cakephp-firebird-driver 的 Firebird 数据库一起使用,我需要将相关的对象键转换为大写。

控制器:

$this->paginate = [
    'contain' => ['Fazendas']
];

结果:

{
   "LOTES": [
    {
        "ID": 12,
        "LOTE": "\u003C 150 Kg",
        "FAIXA_INICIAL": "0.000000",
        "FAIXA_FINAL": "150.000000",
        "FAZENDA_ID": 5,
        "fazenda": {
            "ID": 5,
            "NOME": "FAZENDA 1",
            "LOGRADOURO": null,
            "INSCRICAO_ESTADUAL": null,
            "CEP": null,
            "TELEFONE": null,
            "CNPJ": null,
            "PROPRIETARIO_ID": null,
            "CIDADE_ID": null
        }
    }
}

但是 "fazenda" 保持小写。

我该怎么做?

假设"fazenda"是一个关联,在实体中被convention转换为小写+默认带下划线。

Change your property name for that assoc.

示例取自文档(阅读它们!):

$this->belongsTo('Authors', [
    'className' => 'Publishing.Authors',
    'foreignKey' => 'authorid',
    'propertyName' => 'person'
]);

可能是你的关系是hasOnebelongsTo那么你可以添加一个属性
'propertyName' => 'FAZENDA' 在关系数组中。