Thanks for your answer. Yes indeed it doesn't behave the way the manual
says it should.
For now I will use an alternative ;-)
Le jeudi 23 août 2012 11:47:02 UTC+1, Alexandre Leprêtre a écrit :
>
> Hi everyone,
>
> I am trying to build a nice REST API for my website and I had never tried
> it through CakePHP. I started to follow the (short) instructions, however,
> the way it works looks totally different from what I can read in the
> Cookbook.
>
> I use CakePHP 2.2.1.
>
> Here's what I've done so far:
>
> *app/Controller/OrdersController.php*
> <?php
> class OrdersController extends AppController {
> public function fetch($accountId) {
> $this->loadModel('Account');
> $this->Account->id = $accountId;
> $orders = $this->Order->find('all', array(
> 'conditions' => array('Order.account_id' => $accountId)
> ));
> $response = $orders;
> $this->set(compact('response'));
> }
> }
>
> *app/View/Orders/xml/fetch.ctp*
> <?php
> $xml = Xml::fromArray(array('orders' => $orders));
> echo $xml->asXML();
>
> I tried this with the first account and everything was fine
>
> *Ouput:*
> <orders>
> <Order>
> <id>502cc39f-5b74-4a25-9bb2-670458d0d2b2</id>
> <order_ref>96277</order_ref>
> <account_id>502cc39d-8640-465a-b0da-670458d0d2b2</account_id>
> <created>2012-08-16 09:55:43</created>
> <modified>2012-08-16 09:55:43</modified>
> </Order>
> </orders>
>
> Everything is fine with an account that has one order.
>
> However, with an account that has several orders, this doesn't work
> anymore.
>
> *Expected output:*
> <orders>
> <Order>
> <id>502cc39f-66eb-59d2-2337-670458d0d2b2</id>
> <order_ref>96255</order_ref>
> <account_id>502cc39d-6325-ad25-5b64-670458d0d2b2</account_id>
> <created>2012-08-16 09:42:33</created>
> <modified>2012-08-16 09:42:33</modified>
> </Order>
> <Order>
> <id>502cc39f-ee21-3c89-8120-670458d0d2b2</id>
> <order_ref>96231</order_ref>
> <account_id>502cc39d-6325-ad25-5b64-670458d0d2b2</account_id>
> <created>2012-08-16 09:21:01</created>
> <modified>2012-08-16 09:21:01</modified>
> </Order>
> </orders>
> *
> *
> *What I get:*
> This page contains the following errors:
> error on line 1 at column 367: Entity 'nbsp' not defined
> Below is a rendering of the page up to the first error.*Warning*
> (2)<http://devapi.ssl247.net/orders/fetch/502cc1be-7e48-4913-89c2-65f058d0d2b2.xml>:
>
> SimpleXMLElement::__construct()
> [simplexmlelement.--construct<http://devapi.ssl247.net/orders/fetch/simplexmlelement.--construct>]:
>
> Entity: line 3: parser error : Extra content at the end of the document [*
> CORE\Cake\Utility\Xml.php*, line
> *197*]Code<http://devapi.ssl247.net/orders/fetch/502cc1be-7e48-4913-89c2-65f058d0d2b2.xml>
>
> Context<http://devapi.ssl247.net/orders/fetch/502cc1be-7e48-4913-89c2-65f058d0d2b2.xml>
>
> I assume that Xml::fromArray() doesn't accept multiple numeric keys. Or
> something like this. I don't mind editing my PHP array to get he XML I
> expect but I really don't know how I should write my array for this :-(
>
> Any help is welcome.
>
> Thank you!!
>
> Alex
>
--
You received this message because you are subscribed to the Google Groups
"CakePHP" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
Visit this group at http://groups.google.com/group/cake-php?hl=en-US.