我无法遍历我的代码。我收到错误消息,指出“ reservation_id ”没有默认值。 表 reservation_participate_details 的此 reservation_id 是父表 reservation 的ID列中的外键。我想知道是否与 hasMany 或 belongsTo 有关。我还不太熟悉laravel。
预订表应该在 reservation_participate_details 中/具有很多行。该过程之前是有效的,但是当我将 reservation_participate_details 的列(reservation_participate_id)更改为Reservation_id并将其指向 reservation 列的 id 的外键时strong>,现在无法正常工作。
我试图放
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 。
答案 0 :(得分:1)
由于您已更改了外键列的名称(未遵循laravel默认约定),因此需要在关系函数中定义这些列的名称。
预订模式
public function participateDetail()
{
return $this->hasMany('App\ReservationParticipateDetail', 'reservation_id', 'id');
}
预订参与详细信息模型
public function reservation()
{
return $this->belongsTo('\App\Reservation', 'reservation_id', 'id');
}