Wie reset auto increment in laravel Benutzer löschen?

Ich kämpfen, um herauszufinden, eine Möglichkeit zum zurücksetzen der auto-Inkrement-Wert in Laravel 4, aber es scheint, dass diese Funktionalität nicht eingebettet in laravel 4 zumindest für jetzt.
so habe ich es auf diese Weise:

$user = User::find($user_id);

                if ($user)  {
                    if ($user->delete()){

                    DB::statement('ALTER TABLE users AUTO_INCREMENT = '.(count(User::all())+1).';');

                    echo json_encode('User Was Deleted Successfully..');
                    }   
            }

jedes mal, wenn ich nach dem löschen eines Benutzers aus der Datenbank habe ich den auto-increment Zeiger auf die Anzahl aller Benutzer +1.

wenn jemand hat eine bessere Lösung informieren Sie mich bitte..

Es ist nie nötig, ändern Sie die auto-Inkrement, wenn das löschen von Datensätzen.
die auto-Inkrement ist nicht entworfen, um als die Anzahl der Elemente in der Tabelle.. es ist eigentlich nur eine eindeutige Kennung. Könnten Sie erklären, warum Sie benötigen, um es zurückzusetzen?
Sie verschwenden Ihre Zeit. Beenden Sie einfach die app.
Ihre Tabelle ist Primärschlüssel haben sollte nichts zu tun mit der Anzahl der Zeilen in der Tabelle. Lassen Sie uns sagen Sie, dass Sie darauf bestehen, versucht diese Arbeit zu machen (die es nicht). Jedes mal, wenn Sie einen Benutzer löschen und Neuindizierung der Tabelle, man müsste dann bei jedem update-Instanz von user-id in jeder anderen Tabelle, in dem Sie erscheinen. Das wäre ein äußerst schlechtes design. Wenn Sie wissen möchten, wie viele Benutzer Sie haben, führen Sie SELECT COUNT(some_colum) VON your_table.
und was wird passieren, wenn Sie 40 Benutzer, und löschen Benutzer mit der id 20... sind Sie gehen zu müssen, zu beschäftigen, einige sehr komplizierte Logik zu finden und aktualisieren alle mit id > 20.. das wird nur gehen, um führen zu Problemen in der Zukunft!

InformationsquelleAutor aimiliano | 2013-12-12

Schreibe einen Kommentar