【问题标题】:Laravel AJAX update not working for updating values in DBLaravel AJAX 更新不适用于更新数据库中的值
【发布时间】:2021-04-02 22:25:13
【问题描述】:

控制器中的功能

public function updateajax(Request $request)
{
    $item= Model::where('unq_identifier', $request->unq_identifier)->first();
    $item->status= $request->status;
    $item->save();
    return response()->json($item);
}

Ajax 函数

$.ajax({  
                url:'/main-tables/update-ajax/' + id,  
                method:'PUT',  
                data:{
                    _token: CSRF_TOKEN,
                    status: value,
                    unq_identifier: unq_identifier,
                    user_id : {{ Auth::user()->id }}
                    },  
                success:function(data){  
                    // if(data == "updated")
                    console.log(data);
                }  
            });

当我在成功函数中打印数据时,此处的对象具有更新的值,但该项目未在数据库中更新。

【问题讨论】:

  • 你还卡着吗?

标签: mysql ajax laravel


【解决方案1】:

您应该在 try-catch 块中打包每个 DB 交互查询。最佳做法是查看数据库操作是否成功

public function updateajax(Request $request)
{
    try {
        DB::beginTransaction();
        $item= Model::where('unq_identifier', $request->unq_identifier)->first();
        $item->status= $request->status;
        $item->save();
        DB::commit();
        return response()->json($item);

    } catch (Exception $e) {
        DB::rollBack();
        return response()->json($e->getMessage(), 400);
    }
}

现在通过检查 api 响应来查看您的查询是否成功执行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-16
    • 1970-01-01
    • 2019-05-31
    • 2019-10-31
    • 2019-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多