【发布时间】:2016-07-15 22:41:12
【问题描述】:
我正在将一个 xml 文件内容从我的本地存储插入到数据库中。然而,发生的情况是 xml 文件可以更新,当它更新时,我需要检查记录是否已经存在于我的数据库中。如果它存在我需要更新记录,如果它不存在我需要插入一条新记录。我能够进行插入,但我似乎没有找到使用更新方法执行此操作的 Laravel 方法。
在我的 xml 文件中,它们是一个在 xml 更新后不会改变值的节点。我在想我必须使用 if 语句来检查这个节点的值,但我似乎无法理解这一点。
以下是我的插入方式。
public function store(Request $request)
{
// Building directory path.
$directory = storage_path('app/xmlentries/uploads');
$files = File::allFiles($directory);
foreach($files as $file) {
$contents = $file->getContents();
foreach((array) $contents as $content)
{
$simpleXml = simplexml_load_string($xml);
$data = [
'requisition' => $simpleXml->ExportData->Requisition['clientReqId'], //NODE THAT DOES NOT CHANGE VALUE
'experience' => $simpleXml->ExportData->Requisition->EssentialFunction,
'job_requirements' => $simpleXml->ExportData->Requisition->EssentialFunction,
],
];
Vacancy::insert($data); //WHERE I AM INSERTING MY RECORD
}
}
}
如果记录已经存在,我将如何更新它?
【问题讨论】:
标签: php laravel-5.1