sql >> Databáze >  >> RDS >> Mysql

Porušení omezení integrity:1452 laravel

Váš poslední dotaz SQL je insert into occasions (updated_at, created_at) values (2014-06-30 18:42:11, 2014-06-30 18:42:11) . Měli byste vidět, že pouze updated_at a created_at se vkládá.

K tomu dochází, protože Laravel chrání váš kód před Hromadným zadáním ve výchozím nastavení:

Sloupce budete muset nastavit jako vyplnitelné přidáním pole $fillable sloupců ve vašem 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.
    );
}

Nebo udělejte opak, hlídejte si všechny sloupce, u kterých nechcete, aby byly hromadně přidělitelné:

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

Všimněte si, že přiřazujete Input::get() přímo do modelu. Zde je upozornění z Hromadný úkol sekce:




  1. Změňte časové pásmo mysql z phpMyAdmin

  2. Mysql získá poslední ID konkrétní tabulky

  3. pymysql connection select query a fetchall vrátí n-tice, která má bajtové literály jako b'25.00, spíše než řetězce jako '25.00'

  4. Chyba 'datetime2' při použití entity framework ve VS 2010 .net 4.0