Примечание: я пытаюсь изучить базу данных. Поэтому я ничего не знаю об этих внешних ключах.
Масса:
< th>Поле
Тип
Нулевой
Ключ
По умолчанию
Дополнительно
id
int(11)
НЕТ
PRI
NULL
auto_increment
имяvarchar(20)
НЕТ
mass_unique_id
varchar(25)
НЕТ
создано_at
дата
НЕТ
current_time()
Mass_Conf:
Поле
Тип< /th>
Нулевой
Ключ
По умолчанию
Дополнительно
mass_id
int(11)
НЕТ
FK
meal_conf
НЕТ
NULL
Вот мой код:
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);
}
И вот какую ошибку я получаю
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)
Подробнее здесь: https://stackoverflow.com/questions/791 ... eigniter-4
Невозможно добавить или обновить дочернюю строку: ограничение внешнего ключа не выполнено Codeigniter 4 ⇐ Php
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение