使用编辑表单laravel更新多个数据


updating multiple data using edit form laravel

下面的代码是控制器中方法的一部分使用编辑表单更新其相应图像的多个字幕,但它仅使用最后的输入值更新1个字幕

 $captions = $request['caption'];
        foreach($captions as $key=>$caps){
            $image->update([
                'caption' => $captions[$key]
            ]);
        }

您需要在foreach循环中实例化$image,以便每次更新不同的图像。类似这样的东西:

$captions = $request['caption'];
foreach($captions as $key=>$caps){
    $image = Image::where('user_id', '=', Auth::user()->id)
        ->where('id', '=', $key) // pseudo code
        ->firstOrFail();
    $image->update([
        'caption' => $captions[$key]
    ]);
}

我不知道你的数据库结构是什么样子,也不知道$key是否对应于一个图像ID,但// pseudo code行只是建议你需要获取应该与这个标题相关联的图像。