【问题标题】:How to export mysql table to xml file using laravel如何使用 laravel 将 mysql 表导出到 xml 文件
【发布时间】:2016-10-15 10:15:23
【问题描述】:

我正在使用 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');

【问题讨论】:

    标签: php mysql xml laravel laravel-4


    【解决方案1】:

    解决它!。

    我没有开始新的元素,而是写了一个元素。我的错误用法很糟糕。

    $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');
    

    【讨论】:

      【解决方案2】:

      公共函数 xml()

      {
          $sales = Order::all();//OR $sales = Order::where('xxx')->get();
      
          try
          {
      
              $xml = new XMLWriter();
      
              $xml->openURI('file.xml');
      
              $xml->startDocument('1.0');
              $xml->startElement('ListOrder');
              $xml->setIndent(4);
              $i=1;
              foreach ($sales as $s){
                  $xml->startElement('Order'.$i);
                  $xml->writeElement('id', $s->id);
                  $xml->writeElement('order_item_id', $s->order_item_id);
                  $xml->writeElement('lazada_id', $s->lazada_id);
                  $xml->writeElement('seller_sku', $s->seller_sku);
                  $xml->writeElement('lazada_sku', $s->lazada_sku);
                  $xml->writeElement('updated_at', $s->updated_at);
                  $xml->writeElement('order_number', $s->order_number);
                  $xml->writeElement('shipping_address3', $s->shipping_address3);
                  $xml->writeElement('unit_price', $s->unit_price);
                  $xml->writeElement('shipping_fee', $s->shipping_fee);
                  $xml->writeElement('item_name', $s->item_name);
                  $xml->writeElement('tracking_code', $s->tracking_code);
                  $xml->endElement();
                  $i++;
          }
              $xml->endElement();
      
      
              $xml->endDocument();
      
              $xml->flush();
      
          }
          catch(Exception $e)
          {
              echo $e;
          }
      
      }// Trí_Pro
      

      enter image description here

      【讨论】:

      • 这是一个答案吗?这段代码应该是什么?
      猜你喜欢
      • 2020-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-28
      • 2016-07-16
      • 1970-01-01
      • 2016-02-23
      • 1970-01-01
      相关资源
      最近更新 更多