我正在使用 laravel 4 构建一个项目。我正在尝试将 MySQL 数据导出到 XML 文档。我设法保存了一个 .xml 文件,但其中没有数据,或者当我将 ->get() 方法添加到 $sales 时,错误弹出。
如何将选定的数据从数据库导出到 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');
关于php - 如何使用 laravel 将 mysql 表导出到 xml 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37816101/