Сбой иностранного ограничения - PullRequest
0 голосов
/ 31 мая 2019

У меня проблема с частью моего сайта.Вы можете импортировать файл Excel, этот файл будет создавать продукты и связывать их с категорией.Когда я импортирую свой Excel, некоторые линии работают, а некоторые нет.сообщение об ошибке следующее:

Невозможно добавить или обновить дочернюю строку: ограничение внешнего ключа не выполнено (shop. produit_categorie, CONSTRAINT FK_produit_categorie_categorie_id FOREIGN KEY (categorie_id) ССЫЛКИcategorie (categorie_id))

Вот код, когда импортируется Excel:

 public static function saveData(PDO $bdd, PHPExcel_Worksheet $objWorksheet, $constructeur_id, $catalogue_id) {

/* . . . */
                     else if ($type == RowType::PRODUIT) {

                        $data_array = self::getRowData($row);
                        $taxe_id = self::generateTaxe($bdd);
                        $produit_id = self::generateProduit($bdd, $data_array, $constructeur_id, $taxe_id);
                        self::generatePrixProduitCatalogue($bdd, $data_array, $produit_id, $catalogue, $catalogue_id, $cpt_row_full);
                        self::generateCategorieProduit($bdd, $categorie_id_courante, $produit_id);

                        $code_retour = "200";


                    } else if ($type == RowType::PLATEFORME) {
                        // si la ligne est autre chose que produit ou info -> donc intitule plateforme
                        $code_retour = "200";
                    } else {
                        // erreur
                        $code_retour = "400_" . $cpt_row;
                        break;
                    }

                }
                $cpt_row_full++;

            }// fin IF "ligne pas vide"
            $cpt_row++;
        }// fin foreach
        echo $code_retour;
    }

Таким образом, продукты создаются в моей базе данных noramlly.Но я не понимаю, почему некоторые продукты работают правильно, а некоторые другие (в том же Excel, той же модели, но через 2 строки и работает следующая).

У вас есть идеи?

1 Ответ

0 голосов
/ 31 мая 2019

Возможно, проверьте, установлено ли в листе Excel какое-либо значение, равное 0, или пустое, или если в Excel пытается быть назначен несуществующий идентификатор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...