sql >> データベース >  >> RDS >> Mysql

Laravel5.2-Eloquentテーブルのカスタム主キーとして文字列を使用すると0になります

    これは、2015年12月29日にアップグレードドキュメントに追加されました 、したがって、以前にアップグレードした場合は、おそらくそれを見逃したでしょう。

    モデルから属性をフェッチするときに、その列を整数、文字列などとしてキャストする必要があるかどうかを確認します。

    デフォルトでは、自動インクリメントテーブルの場合、このメソッドではIDは整数であると見なされます。

    https://github.com /laravel/framework/blob/5.2/src/Illuminate/Database/Eloquent/Model.php#L2790

    したがって、解決策は次のとおりです。

    class UserVerification extends Model
    {
        // if your key name is not 'id'
        // you can also set this to null if you don't have a primary key
        protected $primaryKey = 'your_key_name';
    
        public $incrementing = false;
    
        // In Laravel 6.0+ make sure to also set $keyType
        protected $keyType = 'string';
    }
    


    1. SQLServerGUIDの並べ替えアルゴリズム。なんで?

    2. 最新のPostgreSQLトレンド:最も時間のかかるタスクと追跡する重要なメトリック

    3. 致命的なエラー:未定義の関数mysql_connect()の呼び出し

    4. MySqlCLIを使用して大きなCSVファイルをMySqlにインポートする最速の方法