#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