我试图使用laravel将多个标题和多个文件发送到数据库中,但我遇到了错误



我试图使用laravel将多个标题和多个文件发送到数据库中,但我遇到了错误。请帮助我如何解决此问题?谢谢

获取错误

Cannot use object of type IlluminateHttpUploadedFile as array

控制器

public function store(Request $request)
{

foreach ($request->title as $key => $value) {
$audiodetail = new AudioDetail;
$extension = Str::random(40) . $request->file('audio_file_upload')->getClientOriginalExtension();
$audiodetail->audio_file = Storage::disk('audiofile')->putFileAs('', $request->audio_file_upload[$key], $extension);
$audiodetail->title = $value;
$audiodetail->audio_id = $event->id;
$audiodetail->save();
}
return redirect()->route('events');
}

titleaudio_file_upload都是不同的数组。所以你需要将两者结合起来:

public function store(Request $request)
{
$data = array_combine($request->title, $request->audio_file_upload);
foreach ($data as $value) {
$audiodetail = new AudioDetail;
$extension = Str::random(40) . $value['audio_file_upload']->getClientOriginalExtension();
$audiodetail->audio_file = Storage::disk('audiofile')->putFileAs('', $value['audio_file_upload'], '.' . $extension);
$audiodetail->title = $value['title'];
$audiodetail->audio_id = $event->id;
$audiodetail->save();
}
return redirect()->route('events');
}

最新更新