Heim >Backend-Entwicklung >PHP-Tutorial >Umgang mit Problemen bei der Konvertierung benutzerdefinierter String-Primärschlüssel in Laravel 5.2
Laravel 5.2 – Benutzerdefinierter Primärschlüssel als String: Auflösen der „0“-Konvertierung
Verwenden eines Strings als Primärschlüssel für eine eloquente Tabelle kann zu unerwarteten Konvertierungsproblemen führen. Dieser Artikel befasst sich mit dem Problem, dass beim Abrufen des Primärschlüssels der Wert „0“ auftritt.
Problemstellung:
Beim Versuch, E-Mail als Primärschlüssel zu verwenden, Eloquent würde den Primärschlüssel als „0“ zurückgeben, wenn die Tabelle mit „where“ und dem Primärschlüssel als Argument abgefragt wird. Dies wirkte sich auf den Abruf anderer Attribute aus dem Modell aus.
Lösung:
Um dieses Konvertierungsproblem zu beheben, müssen zwei Eigenschaften im Eloquent-Modell konfiguriert werden:
Hier ist das aktualisierte Eloquent-Modell:
<code class="php">class UserVerification extends Model { protected $primaryKey = 'verification_token'; protected $incrementing = false; protected $keyType = 'string'; // Other model definitions... }</code>
Durch die Konfiguration dieser Eigenschaften verarbeitet Laravel den String-Primärschlüssel nun korrekt und vermeidet die Konvertierung in eine Ganzzahl, wodurch das Problem der „0“-Konvertierung behoben wird.
Das obige ist der detaillierte Inhalt vonUmgang mit Problemen bei der Konvertierung benutzerdefinierter String-Primärschlüssel in Laravel 5.2. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!