我在 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/