Laravel 5.2 : problème de conversion de clé primaire personnalisée
Lors de l'utilisation d'une chaîne comme clé primaire personnalisée pour une table Eloquent dans Laravel 5.2, un un problème de conversion inattendu se pose. La colonne "verification_token", qui sert de clé primaire dans ce scénario, est renvoyée sous la forme d'une valeur numérique de 0 lors de la récupération des attributs du modèle.
Pour résoudre ce problème, il est nécessaire de remplacer le type par défaut fonderie. Normalement, les tables à incrémentation automatique supposent que l'ID est un nombre entier, ce qui conduit à une conversion problématique. La solution implique de spécifier explicitement les propriétés suivantes dans la classe de modèle Eloquent :
<code class="php">protected $primaryKey = 'verification_token'; public $incrementing = false;</code>
De plus, il est conseillé de définir la propriété "keyType" sur "string" dans Laravel 6.0 et supérieur, comme illustré ci-dessous :
<code class="php">protected $keyType = 'string';</code>
En effectuant ces modifications, Laravel traitera correctement la clé primaire personnalisée comme une chaîne et évitera la conversion indésirable en entier. Cela garantit une récupération et une manipulation précises des données stockées dans le modèle Eloquent.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!