2017-09-12 81 views
0

我將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 
     } 
    } 
} 

但 「莊園」 保持小寫。

我該怎麼做?

+0

沒有CakePHP的任何知識,這是從數據庫元數據自動生成的? fazenda是表名還是列名?它是否有可能實際上也作爲小寫名稱存儲在數據庫元數據中(因爲它是作爲帶引號的對象名創建的)? –

回答

2

假設「fazenda」是一個關聯關係,並且在實體中由convention將其轉換爲默認情況下標記爲下方的下方的+。

Change your property name for that assoc.

例如,從文檔(閱讀它們!)採取:

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

謝謝你的回答。它像一個魅力。 –

1

可能是你的你的關係是hasOnebelongsTo,那麼你可就陣列添加屬性
'propertyName' => 'FAZENDA'