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

Overtrædelse af integritetsbegrænsningen:1452 laravel

Din sidste sql-forespørgsel er insert into occasions (updated_at, created_at) values (2014-06-30 18:42:11, 2014-06-30 18:42:11) . Du bør kun se det updated_at og created_at er ved at blive indsat.

Dette sker, fordi Laravel beskytter din kode mod Massetildeling som standard:

Du skal gøre dine kolonner udfyldelige ved at tilføje en matrix af $fillable kolonner i din model:

class Occasion extends Eloquent
{
    protected $fillable = array(
        'created_by_user_id',
        'updated_by_user_id',
        // The rest of the column names that you want it to be mass-assignable.
    );
}

Eller gør det modsatte, beskyt alle kolonner, som du ikke ønsker, at de skal være massetildelte:

class Occasion extends Eloquent
{
    protected $guarded = array(
        // Any columns you don't want to be mass-assignable.
        // Or just empty array if all is mass-assignable.
    );
}

Bemærk, at du tildeler Input::get() direkte ind i modellen. Her er en advarsel fra Masseopgave afsnit:




  1. MYSQL:Sammenføj liste over værdier i en tabel

  2. Hvad er en tidsseriedatabase?

  3. Hvordan tilføjer man en auto-incrementing primær nøgle til en eksisterende tabel i PostgreSQL?

  4. Auto database oprettelse springboot og mysql