sql >> Database teknologi >  >> RDS >> Mysql

Laravel 5.2 - Brug en streng som en tilpasset primær nøgle til veltalende tabel bliver 0

Dette blev føjet til opgraderingsdokumentationen den 29. december 2015 , så hvis du har opgraderet før, har du sandsynligvis gået glip af det.

Når den henter en attribut fra modellen, tjekker den, om den kolonne skal castes som et heltal, en streng osv.

Som standard antages ID'et for automatiske tabeller at være et heltal i denne metode:

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

Så løsningen er:

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. Membership.ValidateUser returnerer altid falsk efter opgradering til VS 2010 / .NET 4.0

  2. SQL sammenligningsoperatør

  3. Oracle (11.2.0.1):Sådan identificeres rækken, som i øjeblikket er opdateret af UPDATE-sætningen

  4. Forstå deadlocks i MySQL og PostgreSQL