Heim  >  Fragen und Antworten  >  Hauptteil

Fehler. Wie kann ich eine Live-Tabelle mit Ajax in Laravel aktualisieren und löschen?

Ich habe versucht, eine bearbeitbare Rolle in der Benutzertabelle zu erstellen, aber ich habe eine Fehlermeldung erhalten und die Daten wurden nicht in der Datenbank aktualisiert

Hier ist der Fehler

Das ist meine Klinge

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

Das ist meine Controller-Route

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

Das ist meine Funktion in 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);
    }
}

Das ist meine Meinung

Kann mir jemand helfen

P粉805931281P粉805931281260 Tage vor390

Antworte allen(1)Ich werde antworten

  • P粉953231781

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

    最好使用 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);
            }
        }

    Antwort
    0
  • StornierenAntwort