2017-01-21 4 views
0

Ich habe ein Array, das ich im JSON-Format mit /customers.json (hier bekomme ich die Liste aller Kunden). Ich bekomme die Kunden auf diese Weise:CakePHP die Form des serialisierten Array ändern

$customers = $this->Customer->find('all'); 

So serialisiert ich die Daten im JSON-Format.

$this->set(array('customers' => $customers, '_serialize' => array('customers'))); 

Die Daten im Browser sieht so:

{ 
    "customers": [ 
     { 
      "Customer": { 
       "number": "17", 
       "address": "Frau", 
       "title": "", 
       "company": "", 
       "street": "Altk\u00f6nigstr. 17", 
       "street2": "", 
       "zip": "60385", 
       "city": "Frankfurt am Main", 
       "phone": "", 
       "fax": "", 
       "comment": "", 
       "company_name": "Altmeier, Gerda", 
       "bankaccount_holder": "Altmeier, Gerda", 
       "bankaccount_holder_extra": false 
      } 
     }, 
     { 
      "Customer": { 
       "number": "33", 
       "address": "Herr", 
       "title": "", 
       "company": "", 
       "street": "Thewalt-Str. 22", 
       "street2": "", 
       "zip": "60385", 
       "city": "Frankfurt am Main", 
       "phone": "", 
       "fax": "", 
       "comment": "", 
       "company_name": "Bach, J\u00fcrgen", 
       "bankaccount_holder": "Bach, J\u00fcrgen", 
       "bankaccount_holder_extra": false 
      } 
     }, 
     { 

aber ich brauche die Daten in den nächsten Weg outputed werden:

[{ 
     "number" : "3", 
     "address" : "", 
     "title" : "", 
     "company" : "", 
     "street" : "", 
     "street2" : "", 
     "zip" : "89073", 
     "city" : "Ulm", 
     "phone" : "", 
     "fax" : "", 
     "comment" : "", 
     "company_name" : "Born, Lionel", 
     "bankaccount_holder" : "Born, Lionel", 
     "bankaccount_holder_extra" : false 
    }, { 
     "number" : "1", 
     "address" : "Herr", 
     "title" : "", 
     "company" : "", 
     "street" : "Marienburgstraße", 
     "street2" : "", 
     "zip" : "64297", 
     "city" : "Darmstadt", 
     "phone" : "", 
     "fax" : "", 
     "comment" : "", 
     "company_name" : "Myer, Walter", 
     "bankaccount_holder" : "Myer, Walter", 
     "bankaccount_holder_extra" : false 
    } 
] 

Die Frage ist also: Wie kann ich ändern das Ausgabeformat?

Antwort

1

Hash Utility-Klasse ist, was Sie brauchen

$customers = Hash::extract($this->Customer->find('all'), '{n}.Customer'); 
/** ***/ 
$this->set('customers' , $customers); 
$this->set('_serialize' , 'customers'); 
+0

Es wurde leider nichts ändern – Vladislav

+0

ist es eine andere Möglichkeit, das Format von json Ausgabe zu manipulieren? – Vladislav

+0

Können Sie die Loch-Controller-Aktion posten, die Ihnen helfen könnte –

Verwandte Themen