错误。我如何使用 laravel 中的 ajax 进行实时 table 更新和删除

Error. How can i make live table update and delete using ajax in laravel

我尝试在用户 table 中创建 editable 角色,但它出错并且没有将数据更新到数据库

这里是错误

这是我的刀

<div class="table-responsive">
        @csrf
        <table id="editable" class="table table-bordered table-striped">
          <thead>
            <tr>
              <th>ID</th>
              <th>First Name</th>
              <th>Email</th>
              <th>Role</th>
            </tr>
          </thead>
          <tbody>
            @foreach($allusers as $row)
            <tr>
              <td>{{ $row->id }}</td>
              <td>{{ $row->name }}</td>
              <td>{{ $row->email }}</td>
              <td>{{ $row->role }}</td>
            </tr>
            @endforeach
          </tbody>
        </table>
      </div>

这是我的控制器路线

Route::post('tabledit/action', 'App\Http\Controllers\EventController@action')->name('tabledit.action');

这是我在 EventController 中的函数

function action(Request $request)
{
    if($request->ajax())
    {
        if($request->action == 'edit')
        {
      $data = $request->role;
      $updaterole = DB::table('users')
                ->where('id', $request->id)
        ->first();

        $updaterole = $data;
        $update->update();

        }

        if($request->action == 'delete')
        {
            DB::table('users')
                ->where('id', $request->id)
                ->delete();
        }
        return response()->json($request);
    }
}

这是我的观点

谁能帮帮我

最好用if request has而不是request action

if($request->has('edit')
{
//
}

但我没有改变它。仅编辑更新部分。

function action(Request $request)
    {
        if($request->ajax())
        {
            if($request->action == 'edit')
            {
          $data = $request->role;
          DB::table('users')->where('id', $request->id)->update(['role' => $data]);
            }
    
            if($request->action == 'delete')
            {
                DB::table('users')->where('id', $request->id)->delete();
            }
            return response()->json($request);
        }
    }