привет, я попробую ниже код, но мой код не работает должным образом
tags.forEach(function(value) {
var where1 = {};
var attr1 = ['id'];
attr1 = ['id'];
where1['name'] = value;
tagData['name'] = value;
tagModel.getTag(where1, attr1, function(code2,result2){
if(result2.length!=0) {
var quick_start_tagData={'quick_start_id' : result1['id'], 'tag_id' :result2[0]['id']}
quick_start_tagModel.saveData(quick_start_tagData, function(code2,result2){
});
console.log(quick_start_tagData);
} else {
tagModel.saveData(tagData, function(code2,result2) {});
}
});
});
проблема заключается в том, что цикл повторяет данные no.of, когда я проверяю значение этих данных в таблице, если таблица имеет то же значение, затем получает ее идентификатор и вставляет, а если нет, то добавляет новую запись и получает ее идентификатор и вставляет в другую таблицу
но первый select
запрос выполняется все время, а затем insert
запрос выполняется в цикле
как решить эту проблему
Запрос Выполнить так
Выполнение (по умолчанию):
ВЫБРАТЬ id
ОТ pxl_tag
КАК pxl_tag
ГДЕ pxl_tag
. name
= 'a1';
ВЫБРАТЬ id
ОТ pxl_tag
КАК pxl_tag
ГДЕ pxl_tag
. name
= 'a2';
ВЫБРАТЬ id
ОТ pxl_tag
КАК pxl_tag
ГДЕ pxl_tag
. name
= 'a3';
INSERT INTO pxl_tag
(id
, name
, created_at
, updated_at
) ЗНАЧЕНИЯ
(DEFAULT, 'a3', '2018-05-04 04:35:32', '2018-05-04 04:35:32');
INSERT INTO pxl_tag
(id
, name
, created_at
, updated_at
) ЗНАЧЕНИЯ
(DEFAULT, 'a3', '2018-05-04 04:35:32', '2018-05-04 04:35:32');
INSERT INTO pxl_tag
(id
, name
, created_at
, updated_at
) ЗНАЧЕНИЯ
(ПО УМОЛЧАНИЮ, «a3», «2018-05-04 04:35:32», «2018-05-04 04:35:32»);
но я хочу сначала select
и insert
шаг за шагом