Heim  >  Artikel  >  PHP-Framework  >  So überprüfen Sie, ob Laravel eindeutig ist

So überprüfen Sie, ob Laravel eindeutig ist

PHPz
PHPzOriginal
2023-04-23 09:14:471217Durchsuche

Im Laravel-Framework ist die Überprüfung der Eindeutigkeit von Eingabedaten eine häufige Anforderung. Überprüfen Sie beispielsweise die E-Mail-Adresse oder Mobiltelefonnummer des Benutzers, um sicherzustellen, dass er nicht wiederholt registriert wird.

Laravel bietet eine sehr praktische Verifizierungsregel – einzigartig. Beim Absenden des Formulars müssen Sie der Regel nur „unique:table,column“ hinzufügen, zum Beispiel:

'username' => 'required|unique:users,username|max:255',
'email' => 'required|unique:users,email|max:255|email',

Im obigen Code gibt die eindeutige Regel die Benutzer der Eindeutigkeitsüberprüfungstabelle und das Feld Benutzername oder E-Mail an, wodurch dies sichergestellt wird Kein anderer Benutzer verwendet es. Gleicher Benutzername oder dieselbe E-Mail-Adresse.

In praktischen Anwendungen erfüllen eindeutige Regeln jedoch nicht vollständig unsere Anforderungen. Wenn wir beispielsweise ein Datenelement aktualisieren, meldet die ursprüngliche Eindeutigkeitsüberprüfungsregel möglicherweise einen Fehler, da der von uns aktualisierte Wert bereits in der Datenbank vorhanden ist.

Um dieses Problem zu lösen, bietet Laravel einen zusätzlichen Parameter: ausschließen. Beispiel:

'username' => 'required|unique:users,username,' . $userId . ',id|max:255',

Im obigen Code stellt $userId die aktuelle Benutzer-ID dar, die aktualisiert werden soll. Wir weisen Laravel an, den aktuellen Benutzer auszuschließen, wenn die Eindeutigkeit überprüft wird, indem wir den Ausschlussparameter in der eindeutigen Regel verwenden.

Zusätzlich zum Exclude-Parameter stellt Laravel auch den Parameter other_columns zur Verfügung, um die Bedingungen für andere Spalten anzugeben. Zum Beispiel:

'username' => Rule::unique('users')
    ->where(function ($query) use ($other_column_value) {
        return $query->where('other_column', $other_column_value);
    })
    ->ignore($userId),

Im obigen Code verwenden wir die Rule-Klasse und die where-Methode, um Bedingungen für andere Spalten zu definieren und sicherzustellen, dass die Eindeutigkeitsüberprüfung nur durch die angegebenen Bedingungen eingeschränkt wird. Die Ignore-Methode wird auch verwendet, um den aktuellen Benutzer auszuschließen.

Zusammenfassend müssen Sie bei der Überprüfung der Einzigartigkeit in Laravel auf die folgenden Punkte achten:

  1. Verwenden Sie den Ausschlussparameter in der Eindeutigkeitsregel, um den Einfluss der aktuellen Daten auszuschließen.
  2. Mit der Rule-Klasse und der where-Methode können Sie Bedingungen für andere Spalten definieren, um sicherzustellen, dass die Eindeutigkeitsüberprüfung nicht durch andere Spalten beeinträchtigt wird.

Mit den oben genannten Techniken können wir die Einzigartigkeit von Daten flexibler überprüfen und die Integrität und Richtigkeit der Daten sicherstellen.

Das obige ist der detaillierte Inhalt vonSo überprüfen Sie, ob Laravel eindeutig ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn