【问题标题】:Laravel, how to save DomDocument to database?Laravel,如何将 DomDocument 保存到数据库?
【发布时间】:2017-03-13 09:21:44
【问题描述】:

我的项目卡住了,我需要你的帮助! 我正在尝试将 domdocument 变量保存到我的数据库中。 我正在使用 Laravel 5.4

如何保存以下变量?

$title = $dom->getElementsByTagName('title');

我的控制器:

TemporaryScan::create([

'title' => ??

]);

临时扫描表:

Schema::create('temporary_scans', function (Blueprint $table) {
        $table->increments('id');
        $table->text('title');
        $table->timestamps();
    });

我不确定使用 text() 是否是正确的选择。

提前致谢。

【问题讨论】:

    标签: database laravel save domdocument


    【解决方案1】:
     $ts = new TemporaryScan;
     $ts->title = $title;
     $ts->save();
    

    在 TemporaryScan 模型中

    protected $fillable = ["title"];
    

    在控制器中

    $ts->fill($request->all())->save();
    
    
    <?php
    $xml ='<?xml version="1.0" encoding="utf-8"?>
    <books>
     <book>Patterns of Enterprise Application Architecture</book>
     <book>Design Patterns: Elements of Reusable Software Design</book>
    <book>Clean Code</book>
    </books>';
    $dom = new DOMDocument;
    $dom->loadXML($xml);
    $books = $dom->getElementsByTagName('book');
    $string = "";
    foreach($books as $node)
     {
       $r = $dom->saveXML($node);
       $string .= $r;
     }
    echo $string;
    ?>
    

    并保存 $string;

    【讨论】:

    • 您好,感谢您的回答。我已经尝试过了,但我收到了这个错误: DOMNodeList 类的对象无法转换为字符串。如何解决这个问题?
    • 只是编辑答案,必须将DOMNodeList转换为字符串,所以$dom-&gt;saveHTML($title)
    猜你喜欢
    • 2021-07-18
    • 2018-08-07
    • 2018-03-04
    • 1970-01-01
    • 2020-01-15
    • 2020-06-09
    • 1970-01-01
    • 2017-06-22
    • 1970-01-01
    相关资源
    最近更新 更多