Как избежать большой избыточности для SQL-запроса - PullRequest
0 голосов
/ 31 октября 2019

Мне бы хотелось знать функцию make для evite с избыточным кодом и передавать необходимые параметры, я бы хотел, чтобы она выглядела так:

AddSql(name, sqlSyntax, //optional [id, title, ...]

, что даст

AddSql(cartAll, "Select * from product");
AddSql(cartVisualize, "Select ... Where c.user_id =", id)

Вместо каждого запроса ...:

exports.cartAll = function (callback) {
    connection.query(
        "SELECT * FROM product ",
        function (error, results, fields) {
            if (error) throw error;
            callback(null, results);
        }
    );
};

exports.cartVisualize = function (id, callback) {
    connection.query(
        "SELECT c.id, c.product_id, p.title, p.description, p.price, c.quantity FROM cart as c INNER JOIN product as p ON  p.id = c.product_id WHERE c.user_id = " + id,
        function (error, results, fields) {
            if (error) throw error;
            callback(null, results);
        }
    );
};

Можно ли хотя бы избежать повторения 150 раз, потому что файл может содержать много запросов и только одна функция изменит все, спасибо ваванс

1 Ответ

0 голосов
/ 31 октября 2019

Да, это возможно. Это даже легко. Это определенно хорошая практика.

Ваш result объект - это массив с одной записью на строку вашего набора результатов. fields объект - это массив с одной записью на столбец.

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