Laravel 5.2 MySQL Объемная вставка с использованием нескольких запросов AJAX, ошибка на toSQL ()Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Laravel 5.2 MySQL Объемная вставка с использованием нескольких запросов AJAX, ошибка на toSQL ()

Сообщение Anonymous »

У меня есть сценарий загрузки для вставки файлов JSON в базу данных, этот скрипт выполняется почти в 50 раз с использованием AJAX и индикатора загрузки. Я хочу использовать приведенную ниже структуру вставки, чтобы сделать это как можно быстрее, чтобы избежать сотен отдельных операторов вставки < /p>
INSERT INTO TABLE (COLUMN) VALUES ('value1'),('value2'),('value3')
< /code>

Чтобы генерировать SQL в Laravel Как пример здесь выше, я использую этот код: < /p>
foreach ($album_data['data'] as $album) {
if (isset($album['name'])) {
$array['id'] = $album['id'];
$array['name'] = $album['name'];
$array['type'] = $album['type'];
$arr_albums[] = $array;
unset($array);
}
}
DB::table('ALBUM')->insert($arr_albums);
< /code>
Это работает большую часть времени, но иногда возникает ошибка в отношении дублирующих клавиш, потому что этот сценарий запускается несколько раз одновременно для других входов JSON, где появляются одни и те же альбомы, даже если я впервые проверяю уже существующие идентификаторы. Json file < /li>
Используйте эти идентификаторы в выборе, чтобы проверить, которые уже находятся в базе данных < /li>
Создайте оператор вставки для тех идентификаторов, которые не находятся в базе данных < /li>
< /ol>
< /blockquote>
. процесса) в то же время, и запуск (номер 3 процесса) вставьте одновременно.$query = DB::table('ALBUM')->insert($arr_albums)->toSql();
$query .= " ON DUPLICATE...";
< /code>
Что вызывает эту ошибку: < /p>

вызов функции члена tosql () на логическом < /p>
< /blockquote>
Я думаю, функция «tosql ()» невозможна "insert ()"?>

Подробнее здесь: https://stackoverflow.com/questions/371 ... r-on-tosql
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»