한달전에는 아무것도 몰랐는데
이제는 조금 알것같다.
mysql보면서 했는데
그래도 사이트에 렌더링이 안된다.
그런데 어떻게 해볼까.
const db = require("../db");
module.exports = {
orders: {
get: (userId, callback) => {
// TODO: 해당 유저가 작성한 모든 주문을 가져오는 함수를 작성하세요
const sql = `SELECT orders.id, orders.created_at, orders.total_price, order_items.order_quantity, items.image, items.name, items.price
FROM orders
LEFT JOIN order_items ON (orders.id = order_items.order_id)
LEFT JOIN items ON (order_items.item_id = items.id)
LEFT JOIN users ON (orders.user_id = users.id)
WHERE (users.id =${userId})`;
db.query(sql, (error, result) => {
console.log(result);
callback(error, result);
});
},
post: (userId, orders, totalPrice, callback) => {
// TODO: 해당 유저의 주문 요청을 데이터베이스에 생성하는 함수를 작성하세요
// orders: [{ quantity: 1, itemId: 2 },{ quantity: 1, itemId: 4 }]
let sql1 = `INSERT INTO orders (user_id, total_price) VALUES (${userId}, ${totalPrice})`;
db.query(sql1, (err, result) => {
console.log(result);
let sql2 = `INSERT INTO order_items (order_id, item_id, order_quantity) VALUES ?`;
let params = orders.map((el) => [
result.insertId,
el.itemId,
el.quantity,
]);
console.log(params);
db.query(sql2, [params]);
callback(err, result);
});
},
},
items: {
get: (callback) => {
// TODO: Cmarket의 모든 상품을 가져오는 함수를 작성하세요
const queryString = "SELECT * FROM items";
db.query(queryString, (err, result) => {
console.log(result);
callback(err, result);
});
},
},
};