错误。如何使用Laravel中的Ajax进行实时更新和删除

发布于 2025-02-03 18:53:15 字数 2041 浏览 5 评论 0原文

我尝试在用户表中发挥可编辑的作用,但它的错误却不将数据更新为数据库,

此处错误

“在此处输入图像说明”

这是我的刀片

<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);
    }
}

,这里是我的视图

有人可以帮助我吗

i try to make editable role in user table but its error and not update data to database

here the error

enter image description here

this is my blade

<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>

and here my controller route

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

and here my function inside 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);
    }
}

and here my view
enter image description here

can someone pls help me

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

雨后咖啡店 2025-02-10 18:53:15

如果要求而不是请求操作,最好使用。

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);
        }
    }

It's better to use if request has instead of request action.

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

But i didn't change it. Only edited update section.

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);
        }
    }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文