2014-02-05 2 views
0

Я новичок в CakePHP и пытаюсь настроить базовый контроллер, который возвращает данные json или xml, следуя этому руководству на веб-сайте cakephp. http://book.cakephp.org/2.0/en/development/rest.htmlCakePHP сериализация xmlview создает дополнительные узлы

Проблема заключается в том, что он возвращает кучу избыточной разметки в случае как json, так и xml. Я пытаюсь выяснить, что происходит с помощью только xml, так как это наиболее очевидно, чтобы понять, что сломано. Он говорит, что он должен вернуть что-то вроде:

<recipes> 
    <recipe id="234" created="2008-06-13" modified="2008-06-14"> 
     <author id="23423" first_name="Billy" last_name="Bob"></author> 
     <comment id="245" body="Yummy yummmy"></comment> 
    </recipe> 
    <recipe id="3247" created="2008-06-15" modified="2008-06-15"> 
     <author id="625" first_name="Nate" last_name="Johnson"></author> 
     <comment id="654" body="This is a comment for this tasty dish."></comment> 
    </recipe> 
</recipes> 

Но вместо этого возвращает что-то вроде:

<resources> 
    <recipes> 
     <recipe id="234" created="2008-06-13" modified="2008-06-14"> 
      <author id="23423" first_name="Billy" last_name="Bob"></author> 
      <comment id="245" body="Yummy yummmy"></comment> 
     </recipe> 
    </recipes> 
    <recipes> 
     <recipe id="3247" created="2008-06-15" modified="2008-06-15"> 
      <author id="625" first_name="Nate" last_name="Johnson"></author> 
      <comment id="654" body="This is a comment for this tasty dish."></comment> 
     </recipe> 
    </recipes> 
</resources> 

Глядя на то, как модель найти функцию возвращает данные, которые он может быть из-за структуры массивов, которые приходят назад. Я могу изменить структуру вокруг, но хотел удостовериться, что я ничего не пропустил.

+0

вы можете вставить код, который вы отправляете к виду? – cornelb

+0

http://book.cakephp.org/2.0/en/development/rest.html –

ответ

1

Если у вас есть что-то вроде

$recipes = $this->Recipe->find('all'); 

попытаться добавить

$recipes = Hash::extract($recipes, "{n}.Recipe"); 
+0

Спасибо за помощь! –

Смежные вопросы