【问题标题】:how to import xml file into octobercms using kylp如何使用kylp将xml文件导入octobercms
【发布时间】:2018-02-05 01:03:27
【问题描述】:

我正在尝试利用这个插件来导入一个 xml 文件,我有一个简单的 xml 文件。

<MYData>
    <login_details>
        <unique_ref>1-61</unique_ref>
        <login_name>tomme</login_name>
        <login>me</login>
        <password>me</password>
        <file1>Test</file1>
        <file2/>
        <file3/>
        <file4/>
    </login_details>
    <login_details>
        <unique_ref>1-61</unique_ref>
       <login_name>tony</login_name>
        <login>tony</login>
        <password>tony</password>
        <file1>Test1</file1>
        <file2/>
        <file3/>
        <file4/>
    </login_details>
</MYData>

但只能设法导入 3 个节点我错误地认为我可以简单地附加此代码 $postBlog = $blogPost::create(['unique_ref' =&gt; $item-&gt;unique_ref, 'slug' =&gt; Str::slug($item-&gt;unique_ref), 'login_name' =&gt; $item-&gt;login_name, 'login' =&gt;$item-&gt;login); 但最后一个节点不更新数据库任何帮助将不胜感激,因为我是 10 月份框架工作的编码新手。

【问题讨论】:

    标签: php xml laravel octobercms


    【解决方案1】:

    我发现这段代码有效,但我的模型要求 slug 有一个值

    foreach ($xmls->login_details as $row => $data) {
    try {
    if (!$refno_prop = array_get($data, 'refno_prop')) {
    }
    /*
    * Find or create
    */
    $post = Post::make();
    if ($this->update_existing) {
    $post = $this->findDuplicatePost($data) ?: $post;
    }
    $postExists = $post->exists;
    /*
    * Set attributes
    */
    $except = ['id', 'categories', 'author_email'];
    
    foreach (array_except($data, $except) as $attribute => $value) {
    $post->{$attribute} = $value ?: null;
    }
    $post->forceSave();
    /*
    * Log results
    */
    if ($postExists) {
    $this->logUpdated();
    }
    }
    catch (Exception $ex) {
    $this->logError($row, $ex->getMessage());
    }
    }
    

    所以我正在寻找一种从现有节点添加 slug 值的方法,我还没有弄清楚如何阻止将相同的数据添加到数据库中

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-05
      • 1970-01-01
      • 1970-01-01
      • 2017-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-19
      相关资源
      最近更新 更多