Mysql
 sql >> база данни >  >> RDS >> Mysql

Нарушение на ограничението за целостта:1452 laravel

Последната ви sql заявка е insert into occasions (updated_at, created_at) values (2014-06-30 18:42:11, 2014-06-30 18:42:11) . Трябва да видите това само updated_at и created_at се вмъква.

Това се случва, защото Laravel защитава кода ви срещу Масово присвояване по подразбиране:

Ще трябва да направите колоните си попълващи се, като добавите масив от $fillable колони във вашия модел:

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

Или направете обратното, пазете всички колони, които не искате да бъдат масово присвоени:

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

Имайте предвид, че присвоявате Input::get() директно в модела. Ето предупреждение от Mass Assignment раздел:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Не може да се свърже Azure Web App - NodeJS към Azure Mysql

  2. c# Имам проблеми с mysql:Неправилен код на стойността на низа 1366 за колона на ред 1

  3. Функция "Редактиране" за публикации във форума и други подобни

  4. MySql заявката МЕЖДУ два низа понякога не работи

  5. Променете името на съхранената процедура на MySQL „Сравняване на база данни“.