我有一個控制器的傳入狀態,可能是草稿,發布了其他東西,現在我正在分別處理這三個功能,我如何將它們組合在一起,以形成更清晰的代碼
if (state === 'published') {
return this.checklistModelService.getAllWhere(
{ '$checklistRevision.publishedAt$': { [Op.ne]: null } },
undefined,
{
include: { model: ChecklistRevisionSchema },
},
);
}
if (state === 'draft') {
return this.checklistModelService.getAllWhere(
{ '$checklistRevision.publishedAt$': { [Op.is]: null } },
undefined,
{
include: { model: ChecklistRevisionSchema },
},
);
}
return this.checklistModelService.getAll(undefined, {
include: { model: ChecklistRevisionSchema },
});
uj5u.com熱心網友回復:
你可以這樣做,首先將 findOptions 存盤在一個單獨的變數中,然后在查詢中使用它。
var findOptions = {};
state
? (findOptions = {
where: {
'$checklistRevision.publishedAt$': {
[state === 'published' ? Op.ne : Op.is]: null,
},
},
include: { model: ChecklistRevisionSchema },
})
: (findOptions = {
include: { model: ChecklistRevisionSchema },
});
return this.checklistModelService.getAll(undefined, findOptions);
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/478049.html
上一篇:是否可以使用存盤程序檢索表?
