sql >> Databasteknik >  >> RDS >> Mysql

Laravel 5.2 - Använd en sträng som en anpassad primärnyckel för Eloquent Table blir 0

Detta läggs till i uppgraderingsdokumentationen den 29 december 2015 , så om du uppgraderat tidigare har du förmodligen missat det.

När ett attribut hämtas från modellen kontrolleras om den kolumnen ska gjutas som ett heltal, sträng osv.

Som standard, för automatiskt ökande tabeller, antas ID:t vara ett heltal i denna metod:

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

Så lösningen är:

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. Hur man installerar SQLite och SQLite Browser i Ubuntu

  2. Java SQLData - Casta till användarobjekt med en lista/array?

  3. Fel:INSERT EXEC-satsen kan inte kapslas. och Kan inte använda ROLLBACK-satsen i en INSERT-EXEC-sats. Hur löser man detta?

  4. PostgreSQL 9.2 JDBC-drivrutinen använder klientens tidszon?