php - 如何使用 laravel 将 mysql 表导出到 xml 文件

标签 php mysql xml laravel laravel-4

我正在使用 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/

相关文章:

php - 当sql表中不存在日期时,在php数组中存储零

javascript - androidx.appcompat.widget.LinearLayoutCompat 无法转换为 android.widget.LinearLayout

java - 使用 XJC 将 XML 模式转换为 Java 类

javascript - 使用 JQuery 将数千行动态加载到表中

MySQL JOIN 两个表最接近的匹配值

mysql - C 中的存储过程 - 输出参数的问题。我该如何使用字符串?

XML 模式唯一键

php - mysql中如何清除某一列的数据而不删除它

php - 将网页开发与网页设计分开

php - SQLSTATE[42000] : Syntax error while syntax is OK