Каков синтаксис для двух запросов в Sequelize?

#angular #sequelize.js

#angular #sequelize.js

Вопрос:

Может кто-нибудь сказать мне, каков синтаксис для использования двух запросов в Sequelize? Я пытаюсь выполнить удаление из двух таблиц, но это неправильно.. У меня есть этот код:

 defaultAdapter.query('DELETE FROM reasons as r, reason_to_transaction as rt WHERE r.id=:id'
                            'DELETE FROM reason_to_transaction WHERE reason_id=:id', { replacements: objectToSave, type: Sequelize.QueryTypes.UPDATE }
).then(projects => {
    console.log(projects);
    $scope.editMode = false;
    $scope.activeItem = false;
    $scope.refresh();
});
  

Комментарии:

1.«но это неправильно» — пожалуйста, покажите, что произошло / журналы ошибок / и т.д. Похоже, что второй запрос должен выполняться в then предложении, а ваш существующий then должен появиться после этого.

Ответ №1:

нецелесообразно использовать два оператора SQL в запросе. Каждый запрос имеет соответствующее возвращаемое значение, и для запроса выше нет ожидаемого возвращаемого значения.

как насчет

 await defaultAdapter.query("DELETE FROM reasons as r, reason_to_transaction as rt WHERE r.id=:id");
await defaultAdapter.query("DELETE FROM reason_to_transaction WHERE reason_id=:id");
  

Комментарии:

1. вы можете найти async / await let result = await defaultAdapter.query("DELETE FROM reason_to_transaction WHERE reason_id=:id"); этот результат является результатом выполнения запроса

2. кроме того, ваш код удаляет некоторые данные в базе данных, поэтому результатом будет количество удаленных данных. если вы хотите прочитать данные в базе данных, вы можете использовать SELECT STATEMENT