Laravel Multiple insert не работает говорит "список значений вставки не совпадает" - PullRequest
0 голосов
/ 25 февраля 2019

У меня есть список, какое поле динамически получается при импорте xlxs.У меня есть список массивов.Вставить работу, когда только файл xlxs имеет 1 запись, но не работает при получении нескольких строк.

Когда имеется более 1 массива, он говорит:

SQLSTATE [21S01]: список значений вставки не соответствует списку столбцов: 1136 Количество столбцов не соответствует количеству значений в строке 2

затем sql code

Мои списки массивов приведены ниже:

Array(
 [0] => Array
    (
        [name] => Md. XXXX
        [email] => abc@gmail.com
        [mobile_no] => 1751017812
        [password] => $2y$10$vgmdsjT64aXHQcPA6vh8LuWfdWWA/NCtC8NLYTl8yyQ/wtXdcSNHy
        [user_type_id] => 1
        [designation] => Sr. Software Engineer
        [market_code] => mirpurA203
        [product_code] => Seclo201
        [territori_code] => T352
        [region_code] => Mirpur334
        [division_code] => Dhaka31
    )

 [1] => Array
    (
        [name] => Md. XX
        [email] => def@gmail.com
        [mobile_no] => 1761017812
        [password] => $2y$10$52CtpkGrKfriInOmnz.guOrIvnCJyxgYRbfEkDl6nFkPD2UYcvhiO
        [user_type_id] => 2
        [designation] => Sr. Software Engineer
        [territori_code] => T352
        [region_code] => Mirpur334
        [division_code] => Dhaka31
    )
)

Я пробовал с eloquent и вставкой в ​​БД, но это работает, имея только одинзапись.

1 Ответ

0 голосов
/ 25 февраля 2019

При вставке нескольких элементов одновременно все строки должны иметь одинаковые элементы.Это потому, что MySQL ожидает этого.Запрос на вставку указывает столбцы для вставки один раз и ожидает, что все последующие данные будут соответствовать этим столбцам.

INSERT INTO `table` (`col_1`, `col_2`, `col_3`) VALUES (`val_11`, `val_12`, `val_13`), (`val_21`, `val_22`, `val_23`)

Ваш второй объект отсутствует market_code и product_code.Добавьте их к каждой записи или вставьте записи отдельно.

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