ホームページ > データベース > mysql チュートリアル > Laravel 5.2 Eloquent: 文字列の主キーが 0 になるのはなぜですか?

Laravel 5.2 Eloquent: 文字列の主キーが 0 になるのはなぜですか?

DDD
リリース: 2024-12-04 20:16:13
オリジナル
555 人が閲覧しました

Laravel 5.2 Eloquent: Why is my String Primary Key becoming 0?

Laravel 5.2: Eloquent のカスタム主キーにより予期しない値が発生する

Laravel 5.2 Eloquent テーブルで主キーとして文字列を使用しようとすると、ユーザーは次のエラーに遭遇する可能性があります。主キーの値が 0 になる問題。これは、Laravel のデフォルトの動作から発生します。主キーを整数に変換します。

この問題を解決するには、次の手順に従います。

  1. Eloquent モデル クラスで、$primaryKey を使用して主キーを指定します。
  2. $incrementing を false に設定し、主キーが自動インクリメントされないことを示します。
  3. Laravel の場合6.0 以降では、主キーのタイプを明示的に定義するには $keyType を 'string' に設定します。

例:

class UserVerification extends Model
{
    protected $table = 'user_verification';
    protected $fillable =   [
                                'email',
                                'verification_token'
                            ];
    protected $primaryKey = 'verification_token';
    public $incrementing = false;
    protected $keyType = 'string'; // For Laravel 6.0+
}
ログイン後にコピー

これらの変更を実装することで、Laravel は正しく動作します。主キーを文字列として扱い、主キーの値が 0 になる問題を解決します。

以上がLaravel 5.2 Eloquent: 文字列の主キーが 0 になるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート