不同字段作为外键,不能插入

问题描述 投票:0回答:0

我有 2 个关系表。这是我的模式。

产品_型号

CREATE TABLE `product_model` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `model_number` int(10) unsigned NOT NULL,
  `model_name` varchar(100) NOT NULL,
  `created_at` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `UNIQUE_model_number` (`model_number`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

产品颜色

CREATE TABLE `product_color` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `model_number_id` int(10) unsigned NOT NULL,
  `color_code` int(11) NOT NULL,
  `color_name` varchar(100) NOT NULL,
  `is_active` tinyint(1) DEFAULT NULL,
  `created_at` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `product_product_color` (`model_number_id`),
  CONSTRAINT `FK_model_color` FOREIGN KEY (`model_number_id`) REFERENCES `product_model` (`model_number`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

现在当我尝试插入产品颜色时,出现以下错误消息

An exception occurred while executing a query: SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails

我在代码中使用了以下几行来插入。

$modelFound = $em->getRepository(ProductModel::class)->findOneBy(['modelNumber' => $modelNumber);


$insert = new ProductColor();
$insert->setModelNumber($modelFound);
doctrine-orm symfony5
© www.soinside.com 2019 - 2024. All rights reserved.