Laravel как выводить записи db как XML?

Я не могу справиться с такой простой (я думаю) вещью, как выходные записи из базы данных как XML. У меня есть красноречивая модель с именем Customer, и я хочу отправить для вывода всех клиентов из db, поэтому я попытался установить макрос ответа ( http://www.laravel-tricks.com/tricks/responsexml-macro ), и я называю это как это:

public function showCustomers() { $customers = Customer::all()->toArray(); return Response::xml($customers); } 

но затем я получил сообщение об ошибке «SimpleXMLElement :: addChild (): unterminated entity reference M». Я попробовал и другое решение, которое использовало SimpleXMLELement, так что результат был тот же.

 <?php // macros.php Response::macro('xml', function(array $vars, $status = 200, array $header = [], $xml = null) { if (is_null($xml)) { $xml = new SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?><response/>'); } foreach ($vars as $key => $value) { if (is_array($value)) { Response::xml($value, $status, $header, $xml->addChild($key)); } else { $xml->addChild($key, $value); } } if (empty($header)) { $header['Content-Type'] = 'application/xml'; } return Response::make($xml->asXML(), $status, $header); }); ?> <?php // app/start/global.php // add require macros.php require app_path() . '/macros.php'; ?> <?php // How to use // routes.php Route::get('api.{ext}', function() { $data = ['status' => 'OK']; $ext = File::extension(Request::url()); return Response::$ext($data); })->where('ext', 'xml|json');