我正在尝试将一对多关系保存到数据库,但我收到了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是个好主意。