Maison  >  Article  >  développement back-end  >  Comment résoudre le problème de conversion de clé primaire personnalisée dans Laravel 5.2 ?

Comment résoudre le problème de conversion de clé primaire personnalisée dans Laravel 5.2 ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-19 16:48:30739parcourir

How to Resolve Custom Primary Key Conversion Issue in Laravel 5.2?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn