Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Naruszenie ograniczenia integralności:1452 laravel

Twoje ostatnie zapytanie sql to insert into occasions (updated_at, created_at) values (2014-06-30 18:42:11, 2014-06-30 18:42:11) . Powinieneś zobaczyć, że tylko updated_at i created_at jest wstawiany.

Dzieje się tak, ponieważ Laravel chroni Twój kod przed Masowym Przydziałem domyślnie:

Musisz umożliwić wypełnianie kolumn, dodając tablicę $fillable kolumny w Twoim modelu:

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

Albo zrób odwrotnie, chroń wszystkie kolumny, które nie mają być masowo przypisane:

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

Zauważ, że przypisujesz Input::get() bezpośrednio do modelu. Oto ostrzeżenie od Zlecenia masowego sekcja:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ograniczenie czasu i czasu w ciągu dnia w VB.NET?

  2. Wstawianie danych Mysql z jedną wartością z innej tabeli

  3. Importuj plik .sql w programie Access

  4. jQuery UI - przyspieszenie autouzupełniania

  5. Biblioteki JavaScript, które pozwalają na zapytania podobne do SQL na danych JSON?