2017-08-27 32 views
0

我想利用這個插件導入一個XML文件,我有一個簡單的XML文件。如何導入xml文件到octobercms使用kylp

<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' => $item->unique_ref, 'slug' => Str::slug($item->unique_ref), 'login_name' => $item->login_name, 'login' =>$item->login);但最後節點不更新數據庫的任何幫助,將感激地讚賞。

回答

0

我發現了這片上能夠正常工作的代碼,但我的模型需要塞有一個值

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()); 
} 
} 

,所以我要尋找一個方法來從現有的節點我也有不添加廢料價值想出如何停止將相同的數據添加到數據庫中