尝试动态保存到数据库



我正在尝试将客户端的原始文件名保存到我的存储和数据库中。 我可以把它保存到存储中。 我一直在尝试将其正确放入我的数据库时遇到了极其困难的时间。 我不知道如何修复第二行到最后一行代码,以便 foreach 循环正常工作。

$files = array();
$files = $request->allFiles();
$folder = $id;
if (count($files) > 0) {
foreach ($files as $file) {
//if files should be stored in public drive, change 'local' to 'public'
$filename = $file->getClientOriginalName();
Storage::disk('local')->putFileAs($folder, $file, $file->getClientOriginalName());
$plansubmission-> current_plan_year_claims_data_file_1 = $filename;
$plansubmission->save();
}
}

假设allFiles给你一个关联数组,输入名称作为键,并且你的数据库字段与这些字段名匹配,你可以迭代这个数组,并将键用于模型上的属性名称:

foreach ($files as $name => $file) {
$filename = $file->getClientOriginalName();
Storage::disk('local')->putFileAs($folder, $file, $filename);
$plansubmission->$name = $filename;
}
$plansubmission->save();

明智的做法是确保输入名称是您期望的 3 个之一,以便您只设置一个实际作为表上的字段存在的字段,而不是某个随机名称(如果用户要以某种方式更改表单(。

最新更新