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'
]);
可能是你的关系是hasOne
或belongsTo
那么你可以添加一个属性
'propertyName' => 'FAZENDA'
在关系数组中。
我将 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'
]);
可能是你的关系是hasOne
或belongsTo
那么你可以添加一个属性
'propertyName' => 'FAZENDA'
在关系数组中。