ホームページ  >  記事  >  バックエンド開発  >  Laravel 5.2 でのカスタム文字列の主キー変換の問題を処理する方法

Laravel 5.2 でのカスタム文字列の主キー変換の問題を処理する方法

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-19 16:53:30940ブラウズ

How to Handle Custom String Primary Key Conversion Issue in Laravel 5.2

Laravel 5.2 - 文字列としてのカスタム主キー: '0' 変換の解決

Eloquent テーブルの主キーとして文字列を使用する予期しない変換の問題が発生する可能性があります。この記事では、主キーを取得するときに値「0」が発生する問題を解決します。

問題の説明:

電子メールを主キーとして使用しようとすると、Eloquent主キーを引数として「where」を使用してテーブルをクエリすると、主キーは「0」として返されます。これは、モデルからの他の属性の取得に影響しました。

解決策:

この変換の問題を解決するには、Eloquent モデルで 2 つのプロパティを設定する必要があります:

  1. incrementing: 主キーが自動インクリメントしないことを示すには、これを「false」に設定します (文字列キーの場合は一般的です)。
  2. keyType (Laravel 6.0 のみ): 主キーが文字列であることを明示的に指定するには、これを 'string' に設定します。

更新された Eloquent モデルは次のとおりです:

<code class="php">class UserVerification extends Model
{
    protected $primaryKey = 'verification_token';
    protected $incrementing = false;
    protected $keyType = 'string';
    // Other model definitions...
}</code>

これらのプロパティを設定することで、Laravel は文字列の主キーを正しく処理し、整数への変換を回避し、「0」変換の問題を解決します。

以上がLaravel 5.2 でのカスタム文字列の主キー変換の問題を処理する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。