如何使用 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 更新多条记录?的主要内容,如果未能解决你的问题,请参考以下文章

如何检查数据库PHP Laravel中存在的复选框数组值?

如何在不刷新页面 LARAVEL PHP SQL 的情况下插入复选框表?

如何使用 Laravel 和 Ajax 从数据库数组中检查复选框

如何验证单选按钮/复选框并且必须在 laravel 中选择一个

Laravel Route 使用 Javascript/Bootstrap 复选框删除

如何在模型绑定中使用带有 Laravel 的复选框组