[英]Converting a SQL query to SEQUELIZE
我正試圖圍繞創建這個續集查詢。
SELECT
dayofweek(datum) AS DOW,
concat(DAY(datum), '-', MONTH(datum)) AS datum,
ochtend,
middag,
avond
FROM dbt.menus
ORDER BY datum ASC LIMIT 5 OFFSET (variable in sequelize code);
我已經能夠創建 2 個單獨的查詢,其中“按過濾器排序”有效,“別名”有效,但未合並。
這就是我目前在續集中所擁有的
const amount = await Menu.count();
const listOfMenu = await Menu.findAll({
order: [['datum', 'ASC']],
offset: amount - 5,
limit: 5,
attributes: {
include: [
[
Menu.sequelize.fn
(
"DATE_FORMAT",
Menu.sequelize.col("datum"),
"%d-%m "
),
"datum",
],
]
}
});
您只需要使用fn
兩次: order
和attributes
選項:
const datumExpression = Menu.sequelize.fn
(
"DATE_FORMAT",
Menu.sequelize.col("datum"),
"%d-%m "
)
const listOfMenu = await Menu.findAll({
order: [[datumExpression, 'ASC']],
offset: amount - 5,
limit: 5,
attributes: {
include: [
[
datumExpression,
"datum",
],
]
}
});
您還可以將findAll
和count
查詢合並到一個findAndCountAll
,您將獲得帶有兩個 props 的結果: rows
和count
:
const { rows: listOfMenu, count: amount } = await Menu.findAndCountAll({
order: [[datumExpression, 'ASC']],
offset: amount - 5,
limit: 5,
attributes: {
include: [
[
datumExpression,
"datum",
],
]
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.