1452 Cannot add or update a child row: a foreign key constraint fails (mydb.user_has_project, CONSTRAINT fk_user_has_project_project1 FOREIGN KEY (project_id) REFERENCES project (id) ON DELETE CASCADE ON UPDATE CASCADE). The SQL statement executed was: INSERT INTO user_has_project (project_id, user_id) VALUES (:yp0, :yp1)
$userhasProject = new UserHasProject;
$userhasProject->project_id = $id;
$userhasProject->user_id = $user_id;
if (!$userhasProject->save()) print_r ($project->getErrors());
I have both IDs saved in the DB. That is $id (project id) and $user_id. All IDs are int(11).
I’m generating the table from MySQL workbench:
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE=‘TRADITIONAL’;
CREATE SCHEMA IF NOT EXISTS mydb DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
USE mydb ;
– Table mydb.user_has_project
CREATE TABLE IF NOT EXISTS mydb.user_has_project (
user_id INT NOT NULL ,
project_id INT NOT NULL ,
newtitle_id INT NULL ,
note_id INT NULL ,
INDEX fk_user_has_project_project1 (project_id ASC) ,
INDEX fk_user_has_project_user1 (user_id ASC) ,
INDEX fk_user_has_project_newtitle1 (newtitle_id ASC) ,
INDEX fk_user_has_project_note1 (note_id ASC) ,
CONSTRAINT fk_user_has_project_user1
FOREIGN KEY (`user_id` )
REFERENCES `mydb`.`user` (`id` )
ON DELETE RESTRICT
ON UPDATE RESTRICT,
CONSTRAINT fk_user_has_project_project1
FOREIGN KEY (`project_id` )
REFERENCES `mydb`.`project` (`id` )
ON DELETE RESTRICT
ON UPDATE RESTRICT,
CONSTRAINT fk_user_has_project_newtitle1
FOREIGN KEY (`newtitle_id` )
REFERENCES `mydb`.`newtitle` (`id` )
ON DELETE RESTRICT
ON UPDATE RESTRICT,
CONSTRAINT fk_user_has_project_note1
FOREIGN KEY (`note_id` )
REFERENCES `mydb`.`note` (`id` )
ON DELETE RESTRICT
ON UPDATE RESTRICT)
ENGINE = InnoDB;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;