CakePHP中的大写相关对象3
问题描述:
我将CakePHP与Firebird数据库一起使用,插件为cakephp-firebird-driver,我需要将相关对象键转换为大写。CakePHP中的大写相关对象3
控制器:
$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”是一个关联关系,并且在实体中由convention将其转换为默认情况下标记为下方的下方的+。
Change your property name for that assoc.
例如,从文档(阅读它们!)采取:
$this->belongsTo('Authors', [
'className' => 'Publishing.Authors',
'foreignKey' => 'authorid',
'propertyName' => 'person'
]);
+0
谢谢你的回答。它像一个魅力。 –
答
可能是你的你的关系是hasOne
或belongsTo
,那么你可就阵列添加属性'propertyName' => 'FAZENDA'
。
没有CakePHP的任何知识,这是从数据库元数据自动生成的? fazenda是表名还是列名?它是否有可能实际上也作为小写名称存储在数据库元数据中(因为它是作为带引号的对象名创建的)? –