php - Laravel 更新数组语法

标签 php laravel

我在 Laravel 中通过 POST 执行记录更新数组时遇到问题。 我已经捕获了数组中的所有帖子数据无法更新数组成就

<form action="{{'updateapp'}}" method="post">
<table>
<tr><td>
<input type="checkbox" class="id" name="id[]" value="{{ $quarter->id }}" />
<input type="text" name="achv[]" value="{{ $quarter->achievement }}">
</td></tr>
</table>
</form>

Controller :

public function foo(Request $request)
{
    $ids = $request->id;
    $achvs = $request->achv;
    DB::table('quarters')->whereIn('id', $ids)
    ->update(array(['achievement' => $achvs ]));   

    return redirect('evaluator');      
  }

最佳答案

由于您在表单中设置了 [] 数组,您可以按以下方式访问它

public function foo(Request $request)
{
    $ids = $request->id[0];
    $achvs = $request->achv[0];
    DB::table('quarters')->where('id', $ids)
    ->update(['achievement' => $achvs ]);   

    return redirect('evaluator');      
  }

如果要更新多行,请使用以下代码:

foreach($request->id as $key => $value){ 

      $quarters = Quarters::find($request->id[$key]); 
      $quarters->achievement = $request->achv[$key]; 
      $quarters->save(); 
}

关于php - Laravel 更新数组语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45912985/

相关文章:

php - 401 Unauthorized DELETE request to RESTful API 通过 Ajax 在 laravel 中

php - 创建了一个 4 列 3 行的表。如何设置 php 脚本来按 id 提取每一行以从数据库生成 3 tr?

php - FEDEX 网络服务 wsdl 文件

php - 基于两个参数将 SQL 查询转换为 Eloquent Laravel

php - Carbon 语言环境不被尊重?

javascript - 在选择 ajax 和 laravel 上显示 div

php - 将 laravel remember_token 字段更改为其他内容

php - 如何在php中减去带小数点的数字

java - php exec() 不刷新 Path 环境变量

"where"的 php mysql 查询错误