sql >> Database >  >> RDS >> Mysql

Schending integriteitsbeperking:1452 laravel

Uw laatste sql-query is insert into occasions (updated_at, created_at) values (2014-06-30 18:42:11, 2014-06-30 18:42:11) . Je zou moeten zien dat alleen updated_at en created_at wordt ingevoegd.

Dit gebeurt omdat Laravel je code beschermt tegen Massatoewijzing standaard:

U moet uw kolommen invulbaar maken door een array van $fillable . toe te voegen kolommen in uw 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.
    );
}

Of doe het tegenovergestelde, bewaak kolommen waarvan u niet wilt dat ze massaal toewijsbaar zijn:

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.
    );
}

Merk op dat u Input::get() . toewijst direct in het model. Hier is een waarschuwing van Massa-opdracht sectie:




  1. Overgecompliceerde Oracle jdbc BLOB-afhandeling

  2. Wat is de gemakkelijkste manier om te bepalen of een gebruiker online is? (PHP/MYSQL)

  3. Hoe u de datumnotatie in uw Oracle-sessie kunt wijzigen

  4. Kunnen we Meteor-framework gebruiken met mysql-database?