2015-07-02 156 views
0

我想存儲值表,但我有錯誤SQLSTATE [23000]:完整性約束違規:1452不能添加或更新子行,外鍵約束失敗

SQLSTATE [23000]:完整性約束違規:1452不能添加或更新子行,外鍵約束失敗(sisfo-ldiinilai,約束fk_nilai_smp_sma_siswa1外鍵(siswa_id)參考文獻sisfo-ldiisiswaid)ON DELETE NO ACTION ON UPDATE NO ACTION)(SQL:插入nilaisiswa_id,input1,input2input3input4input5input6input7input8input9input10input11input12input13input14updated_atcreated_at)值(14,90,90,90,90,90,90,90,90,90, 90,90,90,90,90,2015年7月2日8時53分47秒,2015年7月2日8時53分47秒))

這裏我的控制器:

public function storeKelas5() 
{ 
    $nilai = new Nilai; 
    $nilai->siswa_id = Input::get('siswa_id'); 
    $nilai->input1 = Input::get('input1'); 
    $nilai->input2 = Input::get('input2'); 
    $nilai->input3 = Input::get('input3'); 
    $nilai->input4 = Input::get('input4'); 
    $nilai->input5 = Input::get('input5'); 
    $nilai->input6 = Input::get('input6'); 
    $nilai->input7 = Input::get('input7'); 
    $nilai->input8 = Input::get('input8'); 
    $nilai->input9 = Input::get('input9'); 
    $nilai->input10 = Input::get('input10'); 
    $nilai->input11 = Input::get('input11'); 
    $nilai->input12 = Input::get('input12'); 
    $nilai->input13 = Input::get('input13'); 
    $nilai->input14 = Input::get('input14'); 
    $nilai->save(); 

    return redirect()->route('app.nilai.index'); 
} 

在這裏我的模型:

public function siswa() 
{ 
    return $this->belongsTo('App\Siswa', 'siswa_id'); 
} 
+0

貌似nilai-> siswa_id值未在「siswa」表匹配 –

+0

值id匹配的行,但仍錯誤:( –

回答

0

嘗試$nilai = new nilai;轉化爲$nilai = new Nilai();因爲是在foreign key constraint fails

模型

+0

我已經改變了sisfo-ldii.siswa表 –

0

問題是,這是因爲你使用的使用連字符數據庫名。您的數據庫名稱爲sisfo-ldii

嘗試重命名您的數據庫。

我建議你避免在你的數據庫名稱和表名使用連字符。

+0

還是錯誤的,我已將我的數據庫更改爲sisfo_ldii –

0

你是否還更新了nilai表上的外鍵約束以匹配新的表名--sisfo_ldii?

相關問題