私のlocalstorageからxmlファイルの内容をDBに挿入しています。しかし、何が起こるかは、xmlファイルを更新することができ、更新されたレコードが既にDBに存在するかどうかをチェックする必要がある場合です。それが存在する場合、私はレコードを更新する必要があり、それが存在しない場合は、新しいレコードを挿入する必要があります。私は挿入を行うことができますが、私は更新メソッドを使用してこれを行うLaravelの方法を見つけることはできません。Laravel 5.1を使用してデータベースにレコードが存在するか確認してください。
私の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
}
}
}
すでにレコードが存在する場合、そのレコードをどのように更新しますか?
あなたの主キー、[リンク]を参照してください ....すべての属性でそれを試してみてください? – jaahvicky
「空き」はあなたのモデルですか?すべての属性をオブジェクトに入れる 'code' $ vacancy = new Vencancy(); $ vacancy-> requisition = $ simpleXml-> ExportData-> Requisition ['clientReqId']; $ vacancy-> save(); 'code' あなたのすべての属性を試してみてください.... プライマリキーを参照してください[https://laravel.com/docs/5.2/eloquent#defining-models [/ link] – cmnardi
空きが私のモデルです。 – jaahvicky