如何使用laravel将mysql表导出到xml文件
问题描述:
我正在用laravel 4构建项目。我正试图将MySQL数据导出到XML文档。我设法保存一个.xml文件,但是里面没有数据,或者当我添加 - > get()方法到$ sales时,弹出错误。如何使用laravel将mysql表导出到xml文件
如何将数据库中选定的数据导出到xml文件?我的目标是创造这样的事情:image
$sales = Sale::where('Status', '=', 'ON')
->orderBy('updated_at', 'asc'); //->get() here brings an error.
try
{
$xml = new XMLWriter();
$xml->openURI('documents/mailouts/example.xml');
$xml->startDocument('1.0');
$xml->startElement('sales');
foreach ($sales as $sale) {
$xml->startElement('sale');
$xml->startElement('REF', $sale->SaleID);
$xml->endElement();
$xml->startElement('COUNTY', $sale->county);
$xml->endElement();
$xml->startElement('BOP1', $sale->SaleBop1);
$xml->endElement();
$xml->startElement('OFFICE', $sale->SaleOffice);
$xml->endElement();
$xml->endElement();
}
$xml->endElement();
$xml->endDocument();
$xml->flush();
Session::flash('success', 'success.');
}
catch(Exception $e)
{
Session::flash('error','problem');
}
return Redirect::route('sendouts.generate');
答
解决它!
而不是开始写入元素的新元素。我错误的用法错误。
$sales = Sale::where('Status', '=', 'ON')
->orderBy('updated_at', 'asc'); //->get() here brings an error.
try
{
$xml = new XMLWriter();
$xml->openURI('documents/mailouts/example.xml');
$xml->startDocument('1.0');
$xml->startElement('sales');
foreach ($sales as $sale) {
$xml->startElement('sale');
$xml->writeElement('REF', $sale->SaleID);
$xml->writeElement('COUNTY', $sale->county);
$xml->writeElement('BOP1', $sale->SaleBop1);
$xml->writeElement('OFFICE', $sale->SaleOffice);
$xml->endElement();
}
$xml->endElement();
$xml->endDocument();
$xml->flush();
Session::flash('success', 'success.');
}
catch(Exception $e)
{
Session::flash('error','problem');
}
return Redirect::route('sendouts.generate');