Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Pelanggaran batasan integritas:1452 laravel

Kueri sql terakhir Anda insert into occasions (updated_at, created_at) values (2014-06-30 18:42:11, 2014-06-30 18:42:11) . Anda akan melihat bahwa hanya updated_at dan created_at sedang dimasukkan.

Ini terjadi karena Laravel melindungi kode Anda dari Tugas Massal secara default:

Anda harus membuat kolom Anda dapat diisi dengan menambahkan larik $fillable kolom dalam model Anda:

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

Atau lakukan sebaliknya, jaga kolom yang Anda tidak ingin agar dapat ditugaskan secara massal:

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

Perhatikan bahwa Anda menetapkan Input::get() ke dalam model secara langsung. Berikut adalah peringatan dari Tugas Massal bagian:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. json_encode dengan konten mysql dan umlaut di utf-8

  2. Mendapatkan id catatan yang dimasukkan terakhir dari tabel database di java?

  3. Mysql NOT IN dan NOT EXIST sama?

  4. Bagaimana saya bisa menggunakan enkripsi data transparan dengan MySQL?

  5. Fungsi agregat MySQL dengan LEFT JOIN