我有reply_qs表和postqs表.Postqs_id是reply_qs表中的外鍵。當我嘗試將reply_qs表單數據保存到數據庫中時,它顯示此錯誤。完整性約束衝突:1048列'postqs_id'不能爲空
錯誤:
SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'postqs_id' cannot be null (SQL: insert into
reply_qs
(reply
,postqs_id
,updated_at
,created_at
) values (dd, , 2017-09-23 02:54:16, 2017-09-23 02:54:16))
我怎麼能解決呢?並請解釋爲什麼我得到這個錯誤。
reply_qs模型:
protected $table = 'reply_qs';
protected $fillable = ['reply'];
public function postqs(){
return $this->hasMany('App\Postqs', 'postqs_id', 'id');
}
postqs模型:
public function reply_qs(){
return $this->hasMany('App\Reply_qs');
}
存儲功能:
public function store(Request $request) {
$reply = new Reply_qs();
$reply->reply = $request->get('reply');
$reply->postqs_id = $request->get('postqs_id');
$reply->save();
遷移:
Schema::create('reply_qs', function (Blueprint $table) {
$table->increments('id')->unique();
$table->text('reply');
$table->timestamps('date');
});
DB::statement('SET FOREIGN_KEY_CHECKS=0;');
Schema::table('reply_qs',function(Blueprint $table)
{
$table->integer('postqs_id')->unsigned();
$table->foreign('postqs_id')->references('id')->on('postqs') -
>onDelete('cascade')->onUpdate('cascade');
});
DB::statement('SET FOREIGN_KEY_CHECKS=1;');
請添加對,因爲這所使用的語言和框架標籤不只是SQL直接到MySQL –
瘋狂的問題,但你真正得到的數據'postqs_id'?或者是那個NULL? – cwallenpoole
@cwallenpoole它不是空的。 – kavi