Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php SQLSTATE[HY000]:一般错误:1364字段“reservation\u id”没有默认值_Php_Mysql_Laravel_Laravel 5.8 - Fatal编程技术网

Php SQLSTATE[HY000]:一般错误:1364字段“reservation\u id”没有默认值

Php SQLSTATE[HY000]:一般错误:1364字段“reservation\u id”没有默认值,php,mysql,laravel,laravel-5.8,Php,Mysql,Laravel,Laravel 5.8,我的密码打不通。我有一个错误,指出“reservation\u id”没有默认值。 表reservation\u participation\u details的此reservation\u id是父表reservation的id列中的外键。我不知道这件事是否与“有很多”或“其他”有关。我对拉威尔还不太熟悉 预订表在预订详细信息中应该/有许多行。这个过程以前是有效的,但当我将reservation\u participation\u details的列reservation\u id更改为res

我的密码打不通。我有一个错误,指出“reservation\u id”没有默认值。 表reservation\u participation\u details的此reservation\u id是父表reservation的id列中的外键。我不知道这件事是否与“有很多”或“其他”有关。我对拉威尔还不太熟悉

预订表在预订详细信息中应该/有许多行。这个过程以前是有效的,但当我将reservation\u participation\u details的列reservation\u id更改为reservation\u id并将其作为reservation的列id的外键时,它现在不起作用

我试着把

    public function participateDetail()
    {
        return $this->hasMany('App\ReservationParticipateDetail');
    }
进入reservationparent表并

    public function reservation()
    {
        return $this->belongsTo('\App\Reservation');
    }
进入预订\参与\详情表


我只需要将参与详细信息保存到预订\u参与\u详细信息中。同样,保留表有许多保留详细信息。

因为您更改了未遵循laravel默认约定的外键列的名称,所以需要在关系函数中定义这些列名

预约模式

公共职能参与细节 { return$this->hasMany'App\reservationparticipatedtail','reservation\u id','id'; } 预订参与细节模型

公共功能保留 { 返回$this->belongsTo'\App\Reservation',Reservation\u id',id'; }
错误是说,当您在reservation\u participation\u details表中插入一行时,您没有设置reservation\u id列的值。@catcon是的,我理解这个想法。我只是想知道我错过了什么。我是新手laravel@MDB你能在你的桌子上登记吗?保留id是主键。那么您在创建表时设置了自动增量?@MDB尝试在相应的模型文件中添加保留id(如果不存在)。我使用迁移更改了列的外键。对不起,我没有提到。如果你没有遵循列的laravel命名约定,你必须像我在回答中提到的那样定义它们。嗯。我想我确实遵循了拉威尔的列命名惯例。我想我错过了一些东西。我只是不知道是什么。