Laravel一对多关系,完整性约束违规错误

时间:2018-06-19 01:47:13

标签: laravel eloquent referential-integrity

我正在尝试将一对多关系保存到数据库,但我收到了Integrity Constraint Violation错误。

当我使用id作为主键时,数据会成功保存。但是当我使用自定义主键时,我就会得到完整性约束错误。

我的数据库结构就像学生可以在很多学院学习,学院可以有很多课程。保存课程时出错。 错误如下

Integrity constraint violation: 1048 Column 'institute_id' cannot be null (SQL: insert into `courses` (`institute_id`, `course_level`, `course_ ▶"

我保存数据的代码如下。

$instituteDetails = new Institute();
$instituteDetails->institute_name = $request->input("instituteName");
$instituteDetails->institute_location = $request->input("instituteLocation");
$instituteDetails->institute_phone1 = $request->input("institutePhone1");
$instituteDetails->institute_phone2 = $request->input("institutePhone2");
$instituteDetails->institute_email = $request->input("instituteEmail");

$courseDetails = new Course();
$courseDetails->course_level = $request->input("courseLevel");
$courseDetails->course_name = $request->input("courseName");
$courseDetails->course_fee = $request->input("courseFee");
$courseDetails->course_concession_fee = $request->input("courseConcessionFee");
$courseDetails->course_duration = $request->input("courseDuration");
$courseDetails->course_commencement_date = $request->input("courseCommencementDate");

//Save institute details first
$studentDetail->instituteDetails()->save($instituteDetails);

//Then save course details
$instituteDetails->courses()->save($courseDetails);

我的模型如下: -

protected $primaryKey = 'institute_id';

public function student(){
    return $this->belongsTo("App\Model\Student");
}

public function courses(){
    return $this->hasMany('App\Model\Course', 'institute_id', 'institute_id');
}

我的课程模式是

class Course extends Model
{
    //

    public function institute(){
        return $this->belongsTo("App\Model\Institute");
    }

}

我不认为制作外键null是个好主意。

0 个答案:

没有答案
相关问题