Rumah  >  Soal Jawab  >  teks badan

kesilapan. Bagaimanakah saya boleh mengemas kini dan memadam jadual langsung menggunakan ajax dalam laravel

Saya cuba mencipta peranan yang boleh diedit dalam jadual pengguna tetapi saya mendapat ralat dan data tidak dikemas kini ke pangkalan data

Inilah kesilapannya

Ini pisau saya

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

Ini adalah laluan pengawal saya

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

Ini adalah fungsi saya dalam 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);
    }
}

Ini pendapat saya

Boleh sesiapa tolong saya

P粉805931281P粉805931281260 hari yang lalu386

membalas semua(1)saya akan balas

  • P粉953231781

    P粉9532317812024-02-26 10:05:41

    Adalah lebih baik untuk digunakan jika permintaan mempunyai dan bukannya meminta tindakan.

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

    Tetapi saya tidak mengubahnya. Hanya bahagian yang dikemas kini telah diedit.

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

    balas
    0
  • Batalbalas