Note: I am trying to learn database. So I don’t know anything about this Foreign Keys.
Mass:
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
id | int(11) | NO | PRI | NULL | auto_increment |
name | varchar(20) | NO | |||
mass_unique_id | varchar(25) | NO | |||
created_at | date | NO | current_time() |
Mass_Conf:
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
mass_id | int(11) | NO | FK | ||
meal_conf | NO | NULL |
Here is my code:
public function createMass(){
if(!LoginCheck::loginCheck()){
return redirect("login");
}
$postData = $this->request->getPost();
$meal = "";
if(isset($postData["meal"])){
foreach ($postData["meal"] as $m) {
$meal.=$m;
}
$meal = (int)$meal;
}
$rules = [
"mass-name" => "required|max_length[40]"
];
if($this->validate($rules)$this->isValidMeal($meal)){
$massDB = new MassDB();
$data = [
'name' => $postData["mass-name"],
'mass_unique_id'=> get_cookie('mass_unique_id'),
];
$massId = $massDB->insert($data,true);
if($massId!=null){
$massConfDB = new MassConfDB();
$data = [
'mass_id'=> $massId,
"meal_conf"=>$meal,
];
$massConfDB->save($data);
return redirect()->to("manager")->with("success", "New mass created successfully!");
}
}else{
$data = validation_errors();
$data["meal[]"] = "At least one option must be selected";
}
return redirect()->to("member")->with("data_error",$data);
}
And this is the error I’m getting
CodeIgniter\Database\Exceptions\DatabaseException #1452
Cannot add or update a child row: a foreign key constraint fails (`b_house`.`mass_config`, CONSTRAINT `fk_mass_config_mass` FOREIGN KEY (`mass_id`) REFERENCES `mass` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION)
You need to sign in to view this answers
Leave feedback about this