如何使用 laravel php 中的复选框使用 ajax 更新多条记录?
Posted
技术标签:
【中文标题】如何使用 laravel php 中的复选框使用 ajax 更新多条记录?【英文标题】:how to update multiple record using ajax using checbox in laravel php? 【发布时间】:2021-02-07 06:01:08 【问题描述】:考虑我有 csid = [1 , 2 , 3]
和 area_id = 10
我想将区域 id 分配给 cs id
所以我尝试了这段代码
此代码获取 (var ids = []
) 中的所有用户 ID 并获取 area-select
并传递给 ajax 但它响应 500 错误
$('#change_area_multiple').on('click', function () // perform action
var ids = []
var checkboxes = document.querySelectorAll('input[name="changearea[]"]:checked') // get all checked value of user id
for (var i = 0; i < checkboxes.length; i++)
ids.push(checkboxes[i].value) // push all ids
console.log(ids);
var areaselected = document.getElementById("area-select").value;
$.ajax(
type: "GET",
dataType: "json",
url: ' route('change.area.multiple') ',
data: 'areaselected': areaselected, 'user_id': ids,
success: function (data)
console.log(data.message);
);
);
路线
Route::get('/area/updatemultiple', 'CustomerController@updatemultipleareas')->name('change.area.multiple');
控制器
public function updatemultipleareas(Request $request)
for ($i = 0; i < sizeof($request->user_id); $i++)
$customer = Customer::find($request->user_id[i]);
$customer->area_id = $request->areaselected;
$customer->save();
return response()->json(['message' => 'User status updated successfully.']);
我认为我的控制器逻辑是错误的?有人可以帮我吗?
【问题讨论】:
【参考方案1】:找到解决办法
public function updatemultipleareas(Request $request)
$deli = $request->get('user_id');
foreach($deli as $us_id)
$customer = Customer::find($us_id);
$customer->area_id = $request->areaselected;
$customer->save();
return response()->json(['message' => 'User status updated successfully.']);
【讨论】:
以上是关于如何使用 laravel php 中的复选框使用 ajax 更新多条记录?的主要内容,如果未能解决你的问题,请参考以下文章
如何在不刷新页面 LARAVEL PHP SQL 的情况下插入复选框表?
如何使用 Laravel 和 Ajax 从数据库数组中检查复选框
如何验证单选按钮/复选框并且必须在 laravel 中选择一个