[英]Bulk updating, update multiple rows in laravel
我正在嘗試更新 laravel 中的多個數據,但是當我在 goole 上搜索時得到的解決方案並不是我要尋找的。 這是我的代碼:
在刀片
<form action="{{url('users/update')}}" method='post'>
@foreach($data as $users)
<tr>
<td>
<input type="" name="id[]" value="{{ $users->id }}">
<input type="" name="names[]" value="{{ $users->name }}">
</td>
</tr>
@endforeach
<button type="submit">Submit</button>
</form>
在控制器中
public function updateuser(Request $request){
$users = user::where("id" ,$request->$id)->update(["name" => $request->names]);
return back()->with('success','Successfully');
}
我希望能夠更新假設我在數據庫中有 10 條記錄我想使用它們各自的 ID 更新所有 10 條記錄
先感謝您
如果你真的想那樣做,你需要為你的輸入命名一些特定的東西
<form action="{{url('users/update')}}" method='post'>
@foreach($data as $users)
<tr><td>
<input type="" name="names[{{ $users->id }}]['name']" value="{{ $users->name }}">
</td></tr>
@endforeach
<button type="submit">Submit</button>
</form>
你的控制器需要
public function updateuser(Request $request)
{
$users = user::update($request->names);
return back()->with('success','Successfully');
}
首先,如果您想更新或執行某些操作,您需要在表單中提供@csrf
。 如果您正在執行更新或刪除方法,則需要提供@method('PUT')
或@method('DELETE')
。
第二件事我不確定您是否可以提供user::
,請嘗試User::
。
這是你要的
foreach($request->id as $key => $id) {
User::where('id', $id)->first()->update([
'name' => $request->names[$key]
]);
}
這應該可以正常工作:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.