繁体   English   中英

SQLSTATE [HY000]:常规错误:1364字段“ reservation_id”没有默认值

[英]SQLSTATE[HY000]: General error: 1364 Field 'reservation_id' doesn't have a default value

我无法通过我的代码。 我收到错误消息,表明“ Reservation_id ”没有默认值。 reservation_participate_details的这reservation_id是从父表中保留的id列的外键。 我想知道hasManybelongsTo是否有关 我还不太熟悉laravel。

预约表应/已在reservation_participate_details多行。 这个过程之前的工作,但是当我改变reservation_participate_details的列(reservation_participate_id)到reservation_id并指出它作为保留id列的外键,它现在不工作。

我试图把

    public function participateDetail()
    {
        return $this->hasMany('App\ReservationParticipateDetail');
    }

进入预留 (父)表并

    public function reservation()
    {
        return $this->belongsTo('\App\Reservation');
    }

Reservation_participate_detail表中

我只需要将参与详细信息保存到Reservation_participate_details中 再次, 保留表具有许多Reservation_participate_details

由于您已更改了外键列的名称(未遵循laravel默认约定),因此需要在关系函数中定义这些列的名称。

预订模式

public function participateDetail()
{
    return $this->hasMany('App\ReservationParticipateDetail', 'reservation_id', 'id');
}

预订参与细节模型

public function reservation()
{
    return $this->belongsTo('\App\Reservation', 'reservation_id', 'id');
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM