Ich habe ein einfaches Formular, das an einen Controller sendet, der prüft, ob ein Name für einen Artikel bereits für ein bestimmtes Projekt vergeben wurde. Wenn dies der Fall ist, wird ein Fehler zurückgegeben. Dies ist der Code, den ich dafür bin mit:Überprüfen Sie, ob der Name unter nicht gelöschten Elementen mit Laravel-Validierung eindeutig ist.
'name' => 'required|min:1|unique:versions,name,NULL,id,project_id,'.$project->id,
Das Problem, das ich in laufen habe ist, dass anstelle eines harten löschen, ich bin mit einem weichen löschen Sie sie aus der Datenbank zu entfernen, was bedeutet, dass, Beispiel: "Test" kann nur einmal als Name verwendet werden, auch nachdem er gelöscht wurde.
Wie kann ich überprüfen, ob es für dieses Projekt unter den Elementen, die nicht gelöscht werden, eindeutig ist?
mögliches Duplikat von [Laravel 4 - Wie wird eine eindeutige Validierungsregel/eindeutige Spalten mit weichen Löschungen verwendet?] (Http://stackoverflow.com/questions/17458681/laravel-4-how-to-usea- unique-validation-rule-unique-columns-with-soft-delet) –
Es ist die gleiche Frage, aber eine andere Situation. In diesem Fall werden die gelöschten Datensätze nie wiederhergestellt, sie werden nur als eine Art Archiv gelöscht, das anzeigt, was von wem gemacht wurde und wann sie gelöscht wurden. Da es keine Notwendigkeit für eine Wiederherstellung gibt, gilt die akzeptierte Antwort nicht, und die anderen Antworten treffen nur auf das, was ich bereits getan habe (einzigartig mit einer einzigen Where-Klausel). Im Wesentlichen ist es anders, dass ich wissen möchte, wie es geht, nicht, warum ich es nicht tun sollte. – Samsquanch
Haben Sie versucht [this] (https://github.com/laravel/laravel/issues/2313#issuecomment-24573045)? –