Umgang mit Problemen bei der Konvertierung benutzerdefinierter String-Primärschlüssel in Laravel 5.2

Linda Hamilton
Freigeben: 2024-10-19 16:53:30
Original
940 Leute haben es durchsucht

How to Handle Custom String Primary Key Conversion Issue 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:

  1. Inkrementierung: Setzen Sie dies auf „false“, um anzugeben, dass der Primärschlüssel nicht automatisch inkrementiert (wie es für Zeichenfolgenschlüssel typisch ist).
  2. keyType (nur Laravel 6.0):Setzen Sie dies auf „string“, um explizit anzugeben, dass der Primärschlüssel ein String ist.

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>
Nach dem Login kopieren

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!

Quelle:php
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!